gpt4 book ai didi

git - 如何在特定提交上将修改后的提交推送到远程 git repo

转载 作者:太空狗 更新时间:2023-10-29 14:28:04 26 4
gpt4 key购买 nike

我已经在我的仓库中编辑了一些文件并推送了它们。
在完成一些其他工作后,我注意到我保留了一行注释。
所以,我不想为它创建一个新的提交,我想在上一次提交(不是最后一次提交)中更改它。
我认为我可以使用提交 ID,但我不知道 Git 如何或者可能不能容忍此功能。

最佳答案

您可以在交互模式下进行 rebase :

git rebase -i HEAD~10

Git 会提示您一个提交列表,最旧的最先显示:

...
pick ab89k22 Old commit
pick ml9826x Another old commit
pick xke82ml This is the commit you want to edit
pick aow82md Here is your latest commit

找到你要编辑的commit,把pick改成edit:

edit xke82ml This is the commit you want to edit

然后保存文件并退出。 Git 现在将开始 rebase 并在您要编辑的提交处停止,允许您进行更改。完成这些更改后,您可以键入

git add path/to/file

对于您修改的每个文件,然后键入

git rebase --continue

完成 rebase 。

请注意,在您本地分支上编辑此提交时,您实际上已经重写了历史。这意味着当你推送到远程时,你将不得不强制分支,在你的git push命令中使用--force:

git push origin master --force

请注意,重写远程历史记录可能很危险,具体取决于谁也与您共享此分支。

如果您不想重写远程历史记录,那么更安全的做法是向您的分支添加一个新的提交。您还可以使用 git revert 删除有问题的提交,然后添加您想要保留的更改。

关于git - 如何在特定提交上将修改后的提交推送到远程 git repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com