Pull only unchanged files in Git
本问题已经有最佳答案,请猛点这里访问。
如何只从远程存储库中提取未更改的文件,并保持本地更改不变,而不进行任何合并?
有人建议这样做:
1 2 3 | git stash git pull git stash pop |
但是,有一个明显的缺点:在最后一个命令上可能会有冲突,我需要做一些事情来解决它们(比如如果我有大量的冲突文件,这会很麻烦)。
在TFS中,我只是简单地做了"获取最新版本",不必大惊小怪。这里有类似的东西吗?
如果它们与更改的文件冲突,tfs get latest版本还将强制您进行合并,因此这与git pull没有什么不同。
通常,在提交时进行大量的小合并比进行一次大合并更容易,这就是为什么Git的工作流是这样的。
可以(如果不是一个好主意)在Git中执行您的请求;基本上,您正在尝试推迟对已更改文件的所有合并,直到您准备好提交到源站为止。为了让Git能够正确地跟踪这一点,您需要将本地分支与拉入的分支分开。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | git checkout -b mywork # Create local branch # ... hack away ... # When you want to get changes from origin. Note # that you can script this part to do it as one step. git commit # Commit my changes to local branch git checkout master # Go back to branch tracking origin git pull # Retrieve changes from origin git checkout mywork # Here's the tricky part; merge from master, taking your # code wherever there's a conflict, and *not* recording as # a merge; if recorded as a merge, you'll overwrite changes # in master when you merge back git merge --squash --strategy-option=ours master # ... hack away ... |
当你准备推的时候,你把我的工作合并到主控中,然后从那里推。
同样,请注意,当您将我的工作合并到master中时,为一个大合并拉变更时,您正在交易许多较小的合并,这通常不是最好的。
您可以只对更改执行
当您
注意当你使用