Git rebase interactive drop vs deleting the commit line

GitGit Rebase

Git Problem Overview


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

Git Solutions


Solution 1 - Git

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.

Solution 2 - Git

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.

Solution 3 - Git

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWazeryView Question on Stackoverflow
Solution 1 - GitMatthieu MoyView Answer on Stackoverflow
Solution 2 - GitStephen FriedrichView Answer on Stackoverflow
Solution 3 - GitMrTuxView Answer on Stackoverflow