在下面的场景中,我正在开发一个私有功能分支,我只推送它以便在我自己的不同机器之间使用它。但是,正如人们所预料的那样,开发和掌握都是共享分支,它们的完整性很重要。当我看到这个输出时,我相当肯定与我通常看到的不同,我有点害怕。我是否还以某种方式强迫将更改推送到其他两个分支(在这种情况下我需要相当快地通知其他人),而不仅仅是我正在工作的分支?如果没有,这个输出意味着什么?
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)
答案 0 :(得分:0)
正如@miqid在评论中提到的那样,documentation for git-push说:
请注意
--force
适用于所有推送的引用,因此使用 它将push.default
设置为matching
或多次推送 使用remote.*.push
配置的目标可能会覆盖其他参考号 比当前分支(包括严格落后的本地裁判) 他们的远程对手)。要强制推送到一个分支,请使用+
在refspec面前推(例如git push origin +master
强迫 推向主分支)。请参阅上面的< refspec> ...部分 的信息。
来自我的工作机器的~/.gitconfig
中的相关行使其行为与我的家用机器不同:
[push]
default = current