git之解决git pull发生的冲突
我们在git pull代码的时候,经常遇到以下情况
$git pull
Updating 05e89f5..6ed5776
error: Your local changes to the following files would be overwritten by merge:
core/service/common/comm_msg.h
core/service/session/session.c
Please, commit your changes or stash them before you can merge.
Aborting
这个时候我们可以使用git的暂存功能来解决这个情况.
使用git stash 将本地修改存储起来
使用git stash list可以看到保存的信息
$git stash
Saved working directory and index state WIP on master: 05e89f5 解决代码冲突
HEAD is now at 05e89f5 解决代码冲突
$git stash list
stash@{0}: WIP on master: 05e89f5 解决代码冲突
本地的修改已经被你暂时存储起来,用git status查看本地代码是没有被修改过的
$git status
# On branch master
# Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
# (use "git pull" to update your local branch)
#
nothing to commit, working directory clean
这个时候你用git pull就可以拉去最新的远端仓库的最新代码。
$git pull
Updating 05e89f5..6ed5776
还原:
git stash pop
暂存允许多次累加,所以还原暂存内容可以带指定的标识,
使用git stash list可以看到保存的信息
$git stash list
stash@{0}: WIP on master: 05e89f5 解决代码冲突
这个时候如果想还原指定的内容,可以使用 git stash pop stash@{0}