Git pull仅覆盖冲突文件

时间:2017-04-06 19:59:41

标签: git github

我正在尝试设置一个进程,该进程将每隔几分钟自动从repo中提取并设置一些脚本来运行并进行本地更改。

例如,我在本地工作目录中有两个已更改的文件,一个文件具有远程服务器的新提交,另一个文件没有。

fileName1.txt (no conflict)
fileName2.txt (has conflict)

然后,当我尝试git pull时,由于fileName2.txt的冲突会发生冲突。

我想解决的是,

  1. 保持fileName1.txt原样;
  2. 覆盖fileName2.txt
  3. 然后,我可以手动,

    git checkout fileName2.txt
    git pull
    

    在这种情况下,我必须指定要结帐的fileName。如何自动查找冲突文件及其checkout

    我无法使用

    git reset --hard && git pull
    

    git checkout . && git pull
    

    因为这些会覆盖fileName1.txtfileName2.txt,如何只覆盖有冲突的文件?

    提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用

git diff --name-only --diff-filter=U

获取仅包含冲突的文件的列表。您可以将此列表与原始解决方案(git checkout)一起使用以解决您的问题。