如何将旧的提交推送到生产中,以查看哪个提交最终破坏了生产。我不想修改任何历史记录,我只想选择已经在历史记录中的提交,只需将其推送到生产中,无需任何复杂的分离头或编辑任何文件。
为什么它如此困难,文档如此稀疏(稀疏或不必要的模糊和冗长的如何做非常基本的直观事物?
答案 0 :(得分:0)
您可以使用bisect来识别哪个提交会中断,还原,提交和推送它。
答案 1 :(得分:0)
完全指定的git push
语法为:
git push REMOTE LOCAL-BRANCH:REMOTE-BRANCH
根据您的情况更换每件作品。类似的东西:
git push -f production WORKINGHASH:master
可能就是你要找的东西。 -f
将允许您在远程处重写历史记录,如果您尝试透明地回滚更改,这将是必要的。
由于您关注文档,git push
man page完全符合您在“选项”部分的前两段中所寻找的内容:
<repository>
: 作为推送操作目标的“远程”存储库。此参数可以是URL ...或远程名称。
<refspec>...
: 使用什么源对象指定要更新的目标。<refspec>
参数的格式是......源对象<src>
,后跟冒号:
,后跟目标引用<dst>
。
此处还记录了-f
标志:
-f
/--force
: 通常,该命令拒绝更新远程ref,该远程ref不是用于覆盖它的本地ref的祖先。 ...此标志禁用这些检查...