歌者文明清理员 发表于 2023-8-12 16:49:47

如何撤销对远程仓库的更改

本帖最后由 歌者文明清理员 于 2023-8-12 16:55 编辑

github 远程仓库如何撤销更改,我试了 --amend 可是结果是远程仓库上又增加了一个commit

3楼正解

学习编程中的Ben 发表于 2023-8-12 16:50:12

理解你的问题了。当你需要撤销远程仓库的更改时,你需要考虑一些步骤来保持代码库的整洁和正确性。以下是详细的解决方案:

1. 备份你的工作:
在进行任何更改之前,建议你创建一个备份分支或者将当前分支的代码备份到本地。这样,如果你的撤销操作出现问题,你可以恢复到之前的状态。

2. 找到要撤销的提交:
使用以下命令来查找你想要撤销的提交的哈希值:
git log


3. 撤销提交:
使用以下命令来撤销一个特定的提交(假设提交的哈希值为 commit_hash):
git revert commit_hash

这将创建一个新的提交,将选定的提交的更改反转。然后,将这个新的提交推送到远程仓库,以撤销之前的更改。

4. 强制推送:
由于你已经创建了一个新的撤销提交,你需要将这个提交推送到远程仓库。但是,由于你想要覆盖之前的提交历史,你需要使用强制推送。使用以下命令:
git push origin your_branch --force

请注意,强制推送可能会影响其他人的工作,所以在执行之前要确保你的团队成员知情。

总结一下,要撤销远程仓库的更改,你需要使用 git revert 创建一个反转的提交,然后使用强制推送来更新远程仓库。这样可以保留你的提交历史并撤销不需要的更改。

希望这个解决方案对你有帮助!如果你有任何问题,都可以继续问。

isdkz 发表于 2023-8-12 16:52:38

要撤销对远程仓库的更改,你需要使用以下命令:

git revert <commit_id>


这将创建一个新的提交,该提交会撤销指定的提交(commit)。你需要将<commit_id>替换为你要撤销的提交的实际 ID。

请注意, git revert命令会创建一个新的提交,该提交会撤销指定提交的更改,而不是直接删除该提交。因此,远程仓库上会增加一个新的提交来撤销之前的更改。

如果你想要移除远程仓库上的某个提交,可以使用以下命令:

git push origin +<commit_id>:<branch_name>


这将强制推送指定的提交,并将远程仓库中的分支指向该提交。你需要将<commit_id>替换为你要移除的提交的实际 ID,并将<branch_name>替换为你要移除提交的分支名称。

请注意,强制推送可能会导致其他人的工作丢失,因此请谨慎使用。

陶远航 发表于 2023-8-12 16:52:54

在 Git 中,撤销对远程仓库的更改需要谨慎操作,因为远程仓库是共享的,你不应该直接修改它。

如果你想撤销远程仓库上的某个提交,你需要创建一个新的提交来覆盖这个提交。以下是一种方法:

1. 首先,在本地的 Git 仓库中找到你想要撤销的提交的哈希值(commit hash)。你可以使用 git log 命令查看提交历史,并找到要撤销的提交的哈希值。

2. 在本地创建一个新的撤销提交。使用以下命令:
      git revert <commit-hash>
   
   将 <commit-hash> 替换为你想要撤销的提交的哈希值。这将创建一个新的提交,用于撤销先前的提交。

3. 推送新的撤销提交到远程仓库。使用以下命令:
      git push origin <branch-name>
   
   将 <branch-name> 替换为你想要推送的分支名称。

这样,你在远程仓库上创建了一个新的撤销提交,用于撤销之前的提交。请注意,这种方法会保留先前的提交历史,并创建一个撤销的新提交。

尽管如此,请务必与团队中的其他成员进行沟通,并确保他们知道你对远程仓库进行了更改。对于重要的更改或合作项目,最好在进行任何撤销操作之前与团队讨论并获得共识。

如果你具体遇到了什么问题,可以提供更多的细节,我将尽力帮助你解决。
如果问题已经解决,请设置最佳答案
页: [1]
查看完整版本: 如何撤销对远程仓库的更改