Git:合并前提交?

Mic*_*ael 6 git git-merge git-commit

我被建议在运行git pull和合并之前提交所有更改.是否有意义 ?如果我跑什么pullmerge 之前提交我的变化,并提交它们合并?

Mur*_*ger 12

在拉动之前提交并不总是可取的 - 你应该考虑收藏你的工作.

考虑这一点的更好方法是在您的临时区域.理想情况下,在尝试合并远程更改之前,您希望它是干净的(记住,git pull= git fetch+ git merge).

git commit是实现这一目标的一种方式,但它会改变你的历史 - 如果你担心让你的回购处于一个持续工作状态,就会污染它.

git stash另一方面,它是为这样的用例而构建的.

如果要记录工作目录和索引的当前状态,但想要返回到干净的工作目录,请使用git stash.

来源:http://git-scm.com/docs/git-stash

您的工作流程看起来像这样:

$ git stash
$ git pull origin master
$ git stash pop stash@{0}
Run Code Online (Sandbox Code Playgroud)

这将允许拉出执行没有问题,在应用您的存储时声音警告您已导致冲突.

  • 迄今为止最有用的答案.您可能应该建议使用`--all`或`--include-untracked`调用`git stash`以避免合并操作失败,因为"未跟踪的文件将被合并覆盖". (2认同)