强制git推送一个文件

时间:2018-02-12 05:32:59

标签: git

我的回购有两个文件:G.txt和I.txt。 G.txt由其他用户编辑,而我是修改I.txt的唯一用户,我不修改G.txt。我通常的工作流程如下:

  1. git pull
  2. 编辑I.txt
  3. git add I.txt; git commit -m“message”; git push
  4. 我经常遇到麻烦,因为在第1步和第1步之间3,其他人编辑了G.txt,所以我的推送失败了。人们经常推动G.txt,因此在其他人进行编辑之前很难适应我的拉动和推进。有没有办法强制推动接受我对I.txt的更改,但是没有覆盖repo的G.txt,因为自从我上次拉动以来其他人已经改变了它?

2 个答案:

答案 0 :(得分:3)

您可以git pull --rebase:在远程端进行的任何其他提交之外,将重播您的本地(使用l.txt修改)提交。

然后再次推。在这种情况下无需强制推动。

答案 1 :(得分:1)

没有必要进行强制推动。您无法推送更改,因为您没有在远程仓库上进行最后一次推送提交。

git pull将从repo获取最新更改并将其合并到您的本地仓库中。然后你可以做正常的推动。

如果您想避免合并提交并在远程仓库中的最新更改之上应用更改,您也可以执行git pull --rebase