在Git中只提取未更改的文件

这个问题在这里已经有了答案:

  • git pull保留本地更改4个答案
  • 'git pull'和'git fetch'有什么区别? 40个答案

  • 如果TFS获取最新版本与更改后的文件发生冲突,也会强制您进行合并,所以它与git pull没有什么不同。

    在提交时进行大量小合并通常比一次大合并更容易,这就是为什么git的工作流程是这样。

    这是可能的(如果不是一个好主意)做你在git中所要求的; 基本上你试图推迟你已经改变的文件的所有合并,直到你准备好提交原点。 为了让git正确地跟踪它,你将需要一个本地分支与你分支的分支分开。

    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 ...
    

    当你准备推送时,你将我的作品合并到主人并从那里推送。

    同样,请注意,当您将mywork合并到master时,当您为一个大合并进行更改时,您正在交易许多较小的合并,而这通常不是最好的。


    你总是可以fetch更改而不是pull它们。

    当你fetch git将更改从服务器拉到远程分支上时,例如当你fetch master它会更新origin/master 。 因此,您可以查看新的更改,而不会影响您的本地master分支。

    注意当你使用pull ,git实际上做的是fetch更改,然后merge它们merge到你的分支中。

    链接地址: http://www.djcxy.com/p/1191.html

    上一篇: Pull only unchanged files in Git

    下一篇: what is the difference between git pull , git fetch and git rebase?