使用git commit --amend修改提交后,如何推送到GitHub?
解决方法:修正GitHub上的提交(已用
git commit --amend修改本地) 别担心,这是个很常见的场景——因为git commit --amend本质是替换了你本地的原有提交,而远程GitHub仓库里还保留着旧的提交记录,所以需要通过强制推送来覆盖远程的历史。不过先提醒一句:如果这个分支是多人协作的,强制推送会改写远程历史,可能影响其他队友的工作,所以最好先和团队确认没人在这个分支上做修改,或者他们已经同步好了本地提交。
具体步骤如下:
先确认本地提交无误
先执行git log --oneline查看本地提交记录,确保修改后的提交已经包含了漏掉的HTML文件,提交信息也符合预期。执行安全的强制推送
普通的git push会被拒绝(因为远程和本地提交历史不一致),这时候推荐用更安全的命令:git push --force-with-lease origin <你的分支名>为什么选
--force-with-lease?它会先检查远程分支有没有被其他人修改过,如果有就会拒绝推送,避免不小心覆盖别人的工作,比单纯的--force更稳妥。
要是确定这个分支只有你在操作,也可以用简化版:git push --force origin <你的分支名>验证结果
推送完成后,去GitHub对应分支页面检查提交记录和文件,确认HTML文件已经成功上传,提交信息也和你修改后的一致。
如果之后队友拉取这个分支时遇到冲突,让他们用git pull --rebase同步远程新历史,这样能把他们的本地修改重新应用到新提交之上。
内容的提问来源于stack exchange,提问作者Abdur Rahaman
相关产品推荐
相关产品推荐

