转自 https://juejin.im/post/5bfc9b84e51d453fb331b923
场景
在git pull的时候,如果本地代码有改动,而服务器上代码也已经被其他人更新过,这个时候是无法成功pull的,可以通过以下四个步骤解决
git stash
将本地所有修改暂时存储起来
使用git stash list 查看保存信息
git pull --rebase
暂存了本地修改之后使用pull拉取
git stash pop stash@{0}
还原暂存的内容
如果只有一次 git stash操作,在还原的本地修改时,直接使用 git stash pop 即可
解决文件中的冲突部分
如果有文件冲突,冲突地方git会自动指明具体冲突代码,自行修改即可
附:git常用操作
正常情况,修改工作区文件后add->commit->push
git status
git stash 或者git stash save “message…”
git pull --rebase
git stash pop
git add . 或者git add filename
. 表示所有文件
git commit -m “message…”
git push
撤销工作区的文件修改(暂存区文件覆盖工作区文件)
git checkout – filename
当修改的文件已经add到暂存区,需要撤销此次添加(撤销上一次git add filename操作)
git reset – filename或者git reset HEAD filename
撤销暂存区内所有文件改动:
git rest 或者git reset HEAD git rest HEAD .
当对上次提交不满意,可以让HEAD指针回退,而暂存区和工作区可以不用改动
git reset --soft HEAD ^
如果让工作区不改变,而暂存区和引用(HEAD指针)回退一次
git reset --mixed HEAD ^
当需要彻底撤销最近的提交,HEAD指针、暂存区、工作区都回到上一次的提交状态,自上一次以来的提交全部丢失
git rest --hard HEAD ^
作者:木头房子de
链接:https://juejin.im/post/5bfc9b84e51d453fb331b923
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。