从Git中的PR中删除提交
我创建了一个PR,但不小心分支出了错误的提交从Git中的PR中删除提交,git,Git,我创建了一个PR,但不小心分支出了错误的提交 commit 4 commit 3 commit 2 commit 1 <-- Want to get rid of first commit 提交1实际上是另一个PR的一部分。我想摆脱第一次提交,因为它与我创建的PR无关。最好的办法是什么 最简单的、不必考虑的方式通常是交互式的重基。dogitrebase-ilong:gitrebase-interactive,删除第一行,保存并退出。这将重写历史中的提交1。然后可能是git push-
commit 4
commit 3
commit 2
commit 1 <-- Want to get rid of first commit
提交1实际上是另一个PR的一部分。我想摆脱第一次提交,因为它与我创建的PR无关。最好的办法是什么 最简单的、不必考虑的方式通常是交互式的重基。dogitrebase-ilong:gitrebase-interactive,删除第一行,保存并退出。这将重写历史中的提交1。然后可能是git push-force和lease一如既往地同步您案例中的更改。最简单的、不需要真正思考的方式通常是交互式重新基址。dogitrebase-ilong:gitrebase-interactive,删除第一行,保存并退出。这将重写历史中的提交1。然后可能是git push-force和lease一如既往地同步您案例中的更改。这将删除提交,就像它从未出现过一样,即更改将被撤消,并将从该分支的历史记录中删除。从逻辑上讲,如果较新的提交基于要删除的提交中的更改,则此操作将不起作用。Git将告诉您有关此冲突的信息 在拉取请求的分支上: git rebase HEAD~4-interactive 4是要显示的提交数 将要删除的提交的第一个单词从pick改为drop。[警告:数据丢失的风险。如果不想丢失其内容,请确保此提交是另一个分支的一部分。] 保存并关闭文件。 git push-force这将强制覆盖远程服务器。依我看,如果您不希望有其他人在这个远程分支上工作,那么这是没有问题的。
看起来我太慢了。这将删除提交,就像它从未出现过一样,即更改将被撤消,并将从该分支的历史记录中删除。从逻辑上讲,如果较新的提交基于要删除的提交中的更改,则此操作将不起作用。Git将告诉您有关此冲突的信息 在拉取请求的分支上: git rebase HEAD~4-interactive 4是要显示的提交数 将要删除的提交的第一个单词从pick改为drop。[警告:数据丢失的风险。如果不想丢失其内容,请确保此提交是另一个分支的一部分。] 保存并关闭文件。 git push-force这将强制覆盖远程服务器。依我看,如果您不希望有其他人在这个远程分支上工作,那么这是没有问题的。
看起来我太慢了。哇,太好了,我没意识到我可以这么做!使用租约执行-force和-force有什么区别?@lost9123193:-force总是覆盖,但是使用租约执行-force检查您是否知道首先要覆盖的内容,即,您的上游副本仍然指向与远程上的分支相同的修订。换句话说,git状态告诉您您的本地分支机构是如何分化的仍然是最新的。在许多情况下,它可以自由替换,是更安全的选择。哇,很好,我没有意识到我可以这么做!使用租约执行-force和-force有什么区别?@lost9123193:-force总是覆盖,但是使用租约执行-force检查您是否知道首先要覆盖的内容,即,您的上游副本仍然指向与远程上的分支相同的修订。换句话说,git状态告诉您您的本地分支机构是如何分化的仍然是最新的。在许多情况下,它可以自由替换,是更安全的选择。当我删除它并使用gitlog-oneline时,我仍然可以看到我试图删除的提交。是这样吗?不,它应该消失,它的变化应该撤销。您需要保存并关闭git rebase打开的文件。当我删除它并执行gitlog-oneline时,我仍然可以看到我试图删除的提交。是这样吗?不,它应该消失,它的变化应该撤销。您需要保存并关闭git rebase打开的文件。