这个git输出(强制更新)是什么意思?

时间:2015-06-02 23:23:59

标签: git push git-config

在下面的场景中,我正在开发一个私有功能分支,我只推送它以便在我自己的不同机器之间使用它。但是,正如人们所预料的那样,开发和掌握都是共享分支,它们的完整性很重要。当我看到这个输出时,我相当肯定与我通常看到的不同,我有点害怕。我是否还以某种方式强迫将更改推送到其他两个分支(在这种情况下我需要相当快地通知其他人),而不仅仅是我正在工作的分支?如果没有,这个输出意味着什么?

maurice@debian:~/a_project$ git push -f
[...]
 + e3d41a7...e71be58 feature/policies-redesign -> feature/policies-redesign (forced update)
 + 3fa3bf8...9142dea master -> master (forced update)
 + a01ab9a...8403461 release -> release (forced update)

1 个答案:

答案 0 :(得分:0)

正如@miqid在评论中提到的那样,documentation for git-push说:

  

请注意--force适用于所有推送的引用,因此使用   它将push.default设置为matching或多次推送   使用remote.*.push配置的目标可能会覆盖其他参考号   比当前分支(包括严格落后的本地裁判)   他们的远程对手)。要强制推送到一个分支,请使用+   在refspec面前推(例如git push origin +master强迫   推向主分支)。请参阅上面的< refspec> ...部分   的信息。

来自我的工作机器的~/.gitconfig中的相关行使其行为与我的家用机器不同:

[push]
  default = current