删除分支的第一次推送提交

scholl123

我有一种情况,我想撤消分支上的第一次提交。一个简单的解决方案是创建一个新分支,然后将除第一个提交之外的所有提交从我的第一个分支移至新分支,然后删除旧分支。

我想象通过简单地弯曲分支的底部可以更好地完成此操作。这样的事情可能吗?我试图勾勒出它:

当前:

master   a - b 
branch1       \ revertB - c - d

通缉:

master   a - b 
branch1       \ - c - d 

可能?:

master a - b ---------------------
skip        \ revertB              \
branch1                             \ - c - d

我不需要revertB提交。我怎样才能做到这一点,或者这是不好的做法?提前致谢 :)

清醒

如果您还没有执行任何操作,则可以通过多种方式来修改历史记录如果您推动了自己的状态,则需要考虑它将产生的影响!

对于在branch1但尚未推动提交的基础上创建提交的任何协作者,都会给您带来麻烦如果没有人使用过branch1,那应该没问题。

我找到了最直观的使用方式

git checkout branch1
git rebase -i master

这样会打开一个文本文件。drop像下面所做的那样,将要摆脱的提交更改为。然后保存文件并退出。

drop 1a432d7 revertB
pick 2657446 c
pick 8d15847 d

# Rebase 1219262..8d15847 onto 1219262 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

由于我在测试存储库中总是针对此答案修改同一行,因此发生了合并冲突。在提交b中,我写道b在提交c中,我写道c在commit revertB中,我写道revertB

<<<<<<< HEAD
b
=======
c
>>>>>>> 2657446... c

如果遇到任何合并冲突,则必须进行修复。就我而言,我将文件内容替换为c

转储固定文件后,继续重新设置基准:

git add myfile
git rebase --continue

您可以选择修改提交c的提交消息。确认后,便revertB不再存在branch1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除 github 中的第一次提交

来自分类Dev

找出创建git分支的时间(不是对该分支的第一次提交)

来自分类Dev

找出创建git分支的时间(而不是对该分支的第一次提交)

来自分类Dev

第一次推送时新的git仓库错误

来自分类Dev

推送通知不是第一次收到

来自分类Dev

回滚两次提交。重新应用第二次提交。分支并应用第一次提交

来自分类Dev

如何防止第一次重新提交Formik

来自分类Dev

GitLab| 如何回到第一次提交?

来自分类Dev

删除Prolog中第一次出现的元素

来自分类Dev

双链表删除第一次出现的方法

来自分类Dev

删除Prolog中第一次出现的元素

来自分类Dev

删除第一次出现的右括号]

来自分类Dev

第一次合并后,再次将git分支A合并到分支B中

来自分类Dev

第一次合并后,再次将git分支A合并到分支B中

来自分类Dev

第一次提交;提交两次交易

来自分类Dev

如何获得自第一次提交以来的第n次提交?

来自分类Dev

Git,取消最新提交即第一次提交

来自分类Dev

获取git存储库中第一次提交的提交哈希

来自分类Dev

成功消息在第一次提交表单后消失,但在随后的提交之后消失

来自分类Dev

CKEDITOR 字段中的文本未在第一次提交中提交

来自分类Dev

在第一次添加/提交和/或推送大于X字节的文件之前,是否有可能使git(或某些命令行包装程序)提示我?

来自分类Dev

Nodegit创建远程存储库并进行第一次推送

来自分类Dev

gcm推送通知:第一次成功,然后未在IOS中注册

来自分类Dev

第一次导航后,React Router不会渲染推送的页面

来自分类Dev

解析推送第一次无法加载通知图标

来自分类Dev

React Native Navigator-路由直到第一次导航推送后才渲染?

来自分类Dev

Django Heroku 推送在第一次后因 Grep 使用错误而失败

来自分类Dev

第一次推送到数组后,Angular 不会绑定转发器

来自分类Dev

第一次接触被忽略?

Related 相关文章

  1. 1

    删除 github 中的第一次提交

  2. 2

    找出创建git分支的时间(不是对该分支的第一次提交)

  3. 3

    找出创建git分支的时间(而不是对该分支的第一次提交)

  4. 4

    第一次推送时新的git仓库错误

  5. 5

    推送通知不是第一次收到

  6. 6

    回滚两次提交。重新应用第二次提交。分支并应用第一次提交

  7. 7

    如何防止第一次重新提交Formik

  8. 8

    GitLab| 如何回到第一次提交?

  9. 9

    删除Prolog中第一次出现的元素

  10. 10

    双链表删除第一次出现的方法

  11. 11

    删除Prolog中第一次出现的元素

  12. 12

    删除第一次出现的右括号]

  13. 13

    第一次合并后,再次将git分支A合并到分支B中

  14. 14

    第一次合并后,再次将git分支A合并到分支B中

  15. 15

    第一次提交;提交两次交易

  16. 16

    如何获得自第一次提交以来的第n次提交?

  17. 17

    Git,取消最新提交即第一次提交

  18. 18

    获取git存储库中第一次提交的提交哈希

  19. 19

    成功消息在第一次提交表单后消失,但在随后的提交之后消失

  20. 20

    CKEDITOR 字段中的文本未在第一次提交中提交

  21. 21

    在第一次添加/提交和/或推送大于X字节的文件之前,是否有可能使git(或某些命令行包装程序)提示我?

  22. 22

    Nodegit创建远程存储库并进行第一次推送

  23. 23

    gcm推送通知:第一次成功,然后未在IOS中注册

  24. 24

    第一次导航后,React Router不会渲染推送的页面

  25. 25

    解析推送第一次无法加载通知图标

  26. 26

    React Native Navigator-路由直到第一次导航推送后才渲染?

  27. 27

    Django Heroku 推送在第一次后因 Grep 使用错误而失败

  28. 28

    第一次推送到数组后,Angular 不会绑定转发器

  29. 29

    第一次接触被忽略?

热门标签

归档