Git rebase interactive drop vs deleting the commit line

前端 未结 3 1891
执念已碎
执念已碎 2020-12-25 09:26

What is the difference from drop in the Git interactive rebase and just deleting the line of the commit?

相关标签:
3条回答
  • 2020-12-25 10:20

    Marking a commit as drop is the same as deleting the line.

    The commit will be dropped/ignored.

    See when you scroll down:

    If you remove a line here THAT COMMIT WILL BE LOST.

    The drop command was added in 2.6.0-rc1:

    "git rebase -i" learned "drop commit-object-name subject" command as another way to skip replaying of a commit.

    0 讨论(0)
  • 2020-12-25 10:23

    There is in fact another small difference:

    You can explicitly "drop" all commits. The effect will be the same as a reset.

    However if you just delete all lines, then git will tell you "Nothing to do".

    Usually you would not use rebase anyway in that case. I learned the difference only when I tried to explain removing a commit with rebase to a co-worker using a dummy commit.

    0 讨论(0)
  • 2020-12-25 10:25

    There is no difference by default; it's just another way to say the same thing.

    But, if you set rebase.missingCommitsCheck to warn or error, then removing a line will trigger a warning (useful for detecting a messed-up cut-and-paste).

    Then setting the line to drop explicitly tells Git that you want to drop that commit, and no warning is shown for it.

    0 讨论(0)
提交回复
热议问题