Re: How to maintain private/secret/confidential branch.

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

 



On 2008-12-14, Łukasz Lew <lukasz.lew@xxxxxxxxx> wrote:
> On Sun, Dec 14, 2008 at 15:55, Nick Andrew <nick@xxxxxxxxxxxxxxx> wrote:
>> If I understand your problem, you could solve it with git cherry-pick
>> and rebase. On priv, make a for-public branch from a pub branch. Then
>> cherry-pick the commits you want from your private branch into the
>> for-public branch.
>
> That almost works. Can I somehow split existing commits
> just like in git-add -p?

This is going to sound weird to some seasoned folks, and I'm
hoping to hear better ways of doing this.  But having done
stuff like this, I once wrote it up and here're my notes:

To split just the top commit into multiple commits:
    * start git gui
    * choose "amend last commit" from the commit menu
    * unstage all files (meaning you click on the little
      icons so they move from the left-bottom panel to the
      left-top panel)
    * pick files or hunks in files to stage and commit the
      usual way
    * continue all changes are committed

To split a commit that is *not* the top one:
    * start an interactive rebase that includes that commit
    * mark that commit as "edit" and start the rebase
    * when the rebase pauses, use git gui as described above

To combine a set of commits and split the result in some
other way (meaning you have commits A B P Q C D R E S and you
want to make them A B C D X Y Z where X+Y+Z = P+Q+R+S!)
    * start an interactive rebase
    * move lines as appropriate (in the editor) so the
      commits P,Q,R,S are together
    * choose "squash" on the second and subsequent ones and
      start the rebase
    * (dirty trick warning) when the editor for the combined
      commit message pops up, delete ALL the lines and save
    * use git gui as above
    * then continue the rebase

Hope this helps...

--
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]

  Powered by Linux