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

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

 



Hi Alexander,
On Sun, Dec 14, 2008 at 17:06, Alexander Potashev <aspotashev@xxxxxxxxx> wrote:> Hello, Łukasz!>> On 16:38 Sun 14 Dec     , Łukasz Lew wrote:>> Thanks Nick, thats really helpful (and surprisingly simple).>> I have a couple more questions:>>>> On Sun, Dec 14, 2008 at 15:55, Nick Andrew <nick@xxxxxxxxxxxxxxx> wrote:>> > On Sun, Dec 14, 2008 at 02:49:50PM +0100, Łukasz Lew wrote:>> >> I don't know how to make such a scenario work:>> >> - two repositories: pub, priv>> >> - priv is clone/branch of pub>> >> - there is some constant developement both in pub and priv>> >> - there are regular syncs with pub in priv>> >>>> >> Problem:>> >> Occasionally I want to push some changes from priv to pub.>> >> Then after syncing with pub I want to get as few conflicts as possible.>> >>>> >> Is it possible to do with git?>> >>> > Git can do almost anything. One should instead ask "How to do this>> > with git?" :-)>>>> So I've heard, but not yet experienced it myself. I'm thrilled to try.>>>> >>> > 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?> It's, however, better to make more commits to not experience the need of> commit splitting.
Indeed good advice and best practice, but another best practice is tonot commit not compiling state.My common scenario is that I code a big change in priv repository, andafter that I find that some of its parts can and should be moved topub.
>> But you can use '--no-commit' option of 'git cherry-pick' and 'git merge'> (and 'git pull' as well as 'git merge'). For example:>>        git cherry-pick --no-commit <sha1>    # cherry-pick without commiting>        git reset --                          # unstage all changes>        git add -p                            # patch update>> You can also use 'git add -i' (interative mode) instead of 'git add -p'.
That's a possible solution indeed.Now I see that the right "plumbing" I need is splitting a commit intosmaller parts and merging several commits into a larger one.
I think that would be nice functionality.
Do you know any tool that would allow such a manipulation on commitsin history?
ThanksLukasz
>>>>> > Push your for-public branch to pub,>> > then rebase your private branch.>>>> Rebase to the tip of master? Is it needed? Ie. cherry-pick does not>> remove the patch from>> the master in priv.>>>> If I now pull from pub, I will get the same change and it mereges nicely :D>>>> Can I get away without creating for_pub branch? maybe cherry pick in>> pub from priv somehow?>>>> >>> > Nick.>> >>>                                        Alexander>˙ôčş{.nÇ+?ˇ?Ž?­?+%?Ë˙ąéÝśĽ?w˙ş{.nÇ+?ˇ ?ßâ?Ř^n?rĄöŚzË?ëh?¨č­Ú&ŁűŕzżäzšŢ?ú+?Ę+zfŁ˘ˇh??§~?­?Űi˙˙ď?ę˙?ęçz_čŽćj:+v?¨ţ)ߣřm


[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