如何使用GitHub中的文件覆盖本地目录中的文件而不删除更改?

如何使用GitHub中的文件覆盖本地目录中的文件而不删除更改?,git,github,command-line,Git,Github,Command Line,我想做的任务的要求如下: 用主文件覆盖本地目录中的文件 但是,不应删除主分支中不存在的任何文件 i、 e.我的主分支中有a、b和c文件 我的本地目录中有文件a、b、c和d 文件b和c在我的本地目录中已过期,因此我想用主分支的b和c覆盖它们 但是,在执行此操作时,我不希望删除文件d (注意:我不希望只手动更新b和c,因为在我的情况下,我正在处理许多文件。因此,我不想手动提取所有这些文件。) 另外,更清楚地说,我希望从命令行执行此操作。(如果有帮助的话,我正在使用Mac上的终端。)如果发生冲突,

我想做的任务的要求如下:

  • 用主文件覆盖本地目录中的文件
  • 但是,不应删除主分支中不存在的任何文件
i、 e.我的主分支中有abc文件

我的本地目录中有文件abcd

文件bc在我的本地目录中已过期,因此我想用主分支的bc覆盖它们

但是,在执行此操作时,我不希望删除文件d

(注意:我不希望只手动更新b和c,因为在我的情况下,我正在处理许多文件。因此,我不想手动提取所有这些文件。)


另外,更清楚地说,我希望从命令行执行此操作。(如果有帮助的话,我正在使用Mac上的终端。)

如果发生冲突,拉主控并接受
——他们的

$ git pull origin master -s recursive -X theirs

备选方案:

$ git pull origin master          
$ git checkout --theirs -- .     # accept 'remote/master' changes

您可能希望隐藏更改,然后在拉取后释放更改

简言之,它几乎是:

git stash  
git pull
git stash apply
有关隐藏的更多信息,请参见

如果您不想擦除的文件尚未提交,则可以使用上述方法。对于已提交但未推送到
origin
的文件,则
git pull--rebase
可能是您所要的