我想要完成的任务的要求如下:
即。我的主分支中有 a , b 和 c 文件。
我的本地目录中有 a , b , c 和 d 文件。
文件 b 和 c 在我的本地目录中已过期,因此我想用 b 和 c覆盖它们来自主分支。
但是,在执行此操作时,我不希望删除文件 d 。
(注意:我不想手动更新b和c,因为在我的情况下,我正在处理许多文件。所以,我不想手动提取所有这些文件。 )
另外,为了更清楚,我希望从命令行执行此操作。 (如果有帮助的话,我在Mac上使用终端。)
答案 0 :(得分:0)
如果发生冲突,请拉主人并接受--theirs
。
$ git pull origin master -s recursive -X theirs
<强>替代:强>
$ git pull origin master
$ git checkout --theirs -- . # accept 'remote/master' changes
答案 1 :(得分:0)
你可能想要隐藏更改,然后在你拉动后解除阻止。
简而言之,这几乎是:
git stash
git pull
git stash apply
有关存储的更多信息,请参见here
以上是针对您不想删除的文件尚未提交的情况。对于已提交但未推送至origin
的文件,git pull --rebase
可能就是您所追求的目标。