Re: removing a commit from a branch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 04.05.2011 11:17 schrieb Peter Krefting:
Gergely Buday:

I have a problematic commit in a series of commits on a branch. It
contains adding a large binary file, which I would like to avoid to
push to our main repository. How can I remove that from the series of
commits? A command-line solution, please, if possible.

If the branch is simple (no merges and such), I'd use "git rebase
--interactive branchpoint" (where "branchpoint" is where the branch is
rooted), or "git rebase --interactive problematic^" (where "problematic"
is the commit you want to edit, note the trailing "^" to start from its
parent commit).

Then change the "pick" for the problematic commit to "edit", run the
rebase, fix up the commit by using "git rm" and "git commit --amend"
when it pauses, and then let it finish using "git rebase --continue".

"git --help rebase" for more information.


If your "problematic" commit contains only that "large file" and nothing else, then you'd probably like to remove the whole commit instead of editing it (as Peter described). Just do:

$ git rebase --interactive problematic^

Again, notice the ^ after "problematic"

An editor pops up with the history since problematic's parent, i.e. "problematic" is the first item in the list. Simply delete the line with the "problematic" commit. It should be the first line. Save the file, exit the editor. That's it.

    Dirk
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]