场景:我已经对项目进行了一些更改,但我不想git add
进行更改,因为这些操作尚未完全完成。同时,我想从同一分支git pull
进行一些更改。我应该在这里做什么
答案 0 :(得分:3)
两个选项。可能最简单的方法是隐藏您的工作:
git stash
这告诉Git对您的工作目录和阶段进行一次(或两次)提交。拉出新的更改后,可以通过以下方式应用存储
git stash apply
另一种选择,也许更复杂一些,实际上是git add
进行更改并进行提交:
git add ... # maybe multiple times
git commit -m 'your commit'
然后,执行一次拉动变基:
git pull --rebase origin master
这将在您刚刚进行的提交下方中引入新的提交。最后,您可以完成工作,然后修改临时提交:
git commit --amend
第二个选项的一个可能的优点是,它使您可以选择对临时提交中的所有工作执行git push
。如果这项工作非常重要,那么通过备份保护它可能对您很重要。另一方面,执行隐藏操作只会使您只进行本地提交。
答案 1 :(得分:2)
我想您正在寻找git stash
来自docs:
当您想记录工作目录和索引的当前状态,但又想回到干净的工作目录时,请使用git stash。该命令将您的本地修改保存下来,并还原工作目录以匹配HEAD提交
答案 2 :(得分:1)
这是您需要遵循的步骤
git stash
//这将隐藏您的新代码更改
现在您可以做任何您想做的事了。
git fetch
或
git pull
或
git reset
完成git pull
后,您可以通过以下方式找回未添加的文件:
git stash apply
注意:
我个人不喜欢git pull和git merge。我没有遵循这些命令,而是遵循下面提到的命令。
我不使用git pull
/ git merge
,而是使用:
git fetch origin
,然后
git rebase origin/master
//或您的别名/分支机构