……然而,这使得多行提交信息或小更正输入更加麻烦。7 @% o( z/ [/ p6 O$ B) Y
确保您没有任何工作副本的修改上演在这样做之前,否则他们可能会犯罪。暂存的变更不会提交。% c7 R5 i" d( p
已被推送到远程分支的提交消息如果您已经将提交推送到远程分支, - 地修改提交后(如上述) - 您还需要使用以下命令强制推送提交]:! c# ^$ j3 z2 f3 G: J7 W% U
0 V! ?, s& N1 H6 O
git push 3 F( t" r2 W5 @4 _; c
--force# Orgit push -f2 X* M. F" W- Y0 b! W
警告:强制推送将使用当地分支覆盖远程分支的状态。如果本地分支没有提交远程分支,您将丢失这些提交。# w) E! x0 ^ D! y- T1 h9 R) O 警告:修改与他人分享的提交时要小心。修改提交本质上是为了提交它们重写有不同的SHA ID,如果其他人有你重写的旧提交副本,就会有问题。任何有旧提交副本的人都需要与你的新重写提交同步,这有时很困难,所以请确保在尝试重写共享提交历史时与他人协调,或避免重写共享提交。# R. P5 o' O3 U, M- ?& j8 c/ Y8 t
执行交互式变基另一种选择是使用交互式变基。这允许你编辑任何需要更新的信息,即使它不是最新的。$ A" {4 ]4 W) S6 p$ q' e
要执行 Git 壁球,请执行以下步骤: 5 _8 p( |3 d+ K: z// n is the number of commits up to the last commit you want to be able to editgit rebase -i HEAD~n提交压缩后 - 选择e/r编辑新闻: 2 k; q' P0 J$ y. M2 @( }( S) A/ Z1 J5 L/ `& T
关于交互式 rebase 的重要说明当你使用git rebase -i HEAD~n可以有更多的比的n条提交。Git 最后收集 n 次提交中的所有提交,如果合并在此范围之间,您也会看到所有提交,因此结果将是 n 。4 a' u2 [& M2 N) V% h
好提示:如果您必须为多个分支执行此操作,并且在修改内容时可能会发生冲突,请设置它git rerere并让 Git 自动为您解决这些冲突。