2009-08-21 47 views
23

我使用“混帐”本文件以下检出铬代码: http://code.google.com/p/chromium/wiki/UsingGit'git pull'命令的工作原理与'svn update'相似?

它说“运行git拉或任何命令是适当的更新您的结帐。 ”。

但我遇到的问题是当我在我的git工作目录 本地更改,然后运行'git pull'。它说像XXX文件不能更新(我在本地做了一个更改)。我强制'混帐拉'工作通过删除我的变化'混帐签出 - XXX.cpp'

有没有办法让'git pull'自动合并,如果可能的话(与svn更新等效)?

谢谢。

+2

“svn update”的等价物将是“git pull --rebase”。另外请记住,你可以单独从“git pull”的“git merge”部分做“git fetch”。 – 2009-08-21 17:18:36

回答

19

如果您希望拉动合并您在本地进行的更改,则需要先将您的更改提交到本地目录。或者,藏起你的改变,然后拉,然后重新应用你的藏匿。

+0

例如参见http://stackoverflow.com/a/12476984/2109800 – mc0e 2013-07-31 01:32:31

8

我想你想要做的是:

  1. 提交所有更改到你的本地库
  2. 做一个“git的重订”。

这比在我看来,“SVN更新”稍微好一点,因为它首先改变你的本地工作副本是你拉或从远程重订基期的最后时间的方式,然后获取和应用新变化从远程访问,然后重新应用您本地承诺的更改。如果您的更改与远程更改之间存在冲突,则需要解决这些更改并按照提示继续进行重新分配操作。

这样,变更集应按正确的顺序应用。

+2

谢谢。我可以'藏好'然后'git rebase'然后'git apply stash',而不是? – n179911 2009-08-21 06:35:47

+2

绝对。如果您还没有准备好提交更改,那么您会这样做,但是您想继续并从远程仓库获取任何更改。 – user160223 2009-09-02 20:01:22

+0

'git stash''git rebase''git stash apply' - 适合我 – lowtech 2017-06-22 04:58:46