It does mention pulling in the changes from the parent branch to your
branch, but that's what we want to do, right?

Looking at Figure 3-29, it appears that master is not impacted, but
experiment contains the changes from master.

If you wanted master to be equal to experiment, you could then do a merge.
 Otherwise, I think the next checkin to master will cause it to diverge
from experiment.


On Tue, Feb 12, 2013 at 3:05 PM, Will Stevens <[email protected]> wrote:

> "... pull in the changes FROM the parent branch into your branch..."
>
>
> On Tue, Feb 12, 2013 at 5:04 PM, Will Stevens <[email protected]>wrote:
>
>> Using rebase will change the parent branch to include the code from your
>> branch (Im pretty sure, please correct me if i am wrong).
>>
>> The method described in my post allows you to code your features in your
>> own branch (without modifying the parent branch), but still allows you to
>> pull in the changes to the parent branch into your branch periodically.
>>  Only once you have finished coding your feature will you want to push it
>> back to the parent branch.
>>
>> Does this make sense?
>>
>>
>> On Tue, Feb 12, 2013 at 4:58 PM, Mike Tutkowski <
>> [email protected]> wrote:
>>
>>> They both look like legitimate ways of doing what I need to do.  Is
>>> there a standard way we do this on CloudStack or maybe it doesn't matter?
>>>
>>>
>>> On Tue, Feb 12, 2013 at 2:51 PM, Will Stevens <[email protected]>wrote:
>>>
>>>> Check this out to better understand how 'rebase' works:
>>>> http://git-scm.com/book/en/Git-Branching-Rebasing
>>>>
>>>>
>>>>
>>>> On Tue, Feb 12, 2013 at 4:47 PM, Mike Tutkowski <
>>>> [email protected]> wrote:
>>>>
>>>>> Great - thanks, Will!
>>>>>
>>>>>
>>>>> On Tue, Feb 12, 2013 at 2:43 PM, Will Stevens 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> My post does not cover pushing your final changes back to the
>>>>>> storage_refactor branch, but when you get to that point you can cross 
>>>>>> that
>>>>>> bridge...
>>>>>>
>>>>>>
>>>>>> On Tue, Feb 12, 2013 at 4:40 PM, Will Stevens 
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>> I actually wrote a blog post which covers this topic pretty well.
>>>>>>>  It is a very trimmed down post to just cover the basics, but it should
>>>>>>> cover all the basics you need:
>>>>>>> http://www.swillops.com/blog/git-branches-manage-third-party-app-customization
>>>>>>>
>>>>>>> Hopefully you will find this helpful...
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Feb 12, 2013 at 4:10 PM, Mike Tutkowski <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> I've got another Git question (I've mainly used SVN in the past):
>>>>>>>>
>>>>>>>> Edison recommended I branch off of his storage_refactor branch for
>>>>>>>> my work (which I have done).  He also asked me to pull in changes to my
>>>>>>>> branch from storage_refactor every now and then so my branch would not 
>>>>>>>> get
>>>>>>>> that out of date relative to his.
>>>>>>>>
>>>>>>>> Is this a good way to do this with Git?
>>>>>>>>
>>>>>>>> $ git checkout mike_tut_storage_refactor
>>>>>>>>
>>>>>>>> $ git rebase storage_refactor
>>>>>>>>
>>>>>>>> To my understanding, this will pull into my branch all the
>>>>>>>> necessary changes from his, but will not modify his branch?  Is that 
>>>>>>>> true?
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Feb 8, 2013 at 12:13 PM, Mike Tutkowski <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Awesome - thanks, everyone!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Feb 8, 2013 at 10:38 AM, Pranav Saxena <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Glad that it worked for you . I think ,  what Chip suggested , I
>>>>>>>>>> guess that is usually done if you have committed your changes 
>>>>>>>>>> locally and
>>>>>>>>>> then  you want to shift to another branch else you can directly 
>>>>>>>>>> branch off .
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Pranav
>>>>>>>>>>
>>>>>>>>>> From: Will Stevens [mailto:[email protected]]
>>>>>>>>>> Sent: Friday, February 08, 2013 10:47 PM
>>>>>>>>>> To: Pranav Saxena
>>>>>>>>>> Subject: Re: Git Branching Question
>>>>>>>>>>
>>>>>>>>>> I just did a quick test to verify my knowledge.
>>>>>>>>>>
>>>>>>>>>> Pranav's advice works.
>>>>>>>>>>
>>>>>>>>>> $ mkdir testbed
>>>>>>>>>> $ cd testbed/
>>>>>>>>>> $ ls -al
>>>>>>>>>>     drwxr-xr-x   2 swill  staff    68  8 Feb 12:01 .
>>>>>>>>>>     drwxr-xr-x+ 78 swill  staff  2652  8 Feb 12:01 ..
>>>>>>>>>> $ mkdir project
>>>>>>>>>> $ cd project/
>>>>>>>>>> $ git init
>>>>>>>>>>     Initialized empty Git repository in
>>>>>>>>>> /Users/swill/testbed/project/.git/
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch master
>>>>>>>>>>     #
>>>>>>>>>>     # Initial commit
>>>>>>>>>>     #
>>>>>>>>>>     nothing to commit (create/copy files and use "git add" to
>>>>>>>>>> track)
>>>>>>>>>> $ echo "testing" > testing.txt
>>>>>>>>>> $ ls -al
>>>>>>>>>>     drwxr-xr-x   4 swill  staff  136  8 Feb 12:02 .
>>>>>>>>>>     drwxr-xr-x   3 swill  staff  102  8 Feb 12:01 ..
>>>>>>>>>>     drwxr-xr-x  10 swill  staff  340  8 Feb 12:02 .git
>>>>>>>>>>     -rw-r--r--   1 swill  staff    8  8 Feb 12:02 testing.txt
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch master
>>>>>>>>>>     #
>>>>>>>>>>     # Initial commit
>>>>>>>>>>     #
>>>>>>>>>>     # Untracked files:
>>>>>>>>>>     #   (use "git add <file>..." to include in what will be
>>>>>>>>>> committed)
>>>>>>>>>>     #
>>>>>>>>>>     #     testing.txt
>>>>>>>>>>     nothing added to commit but untracked files present (use "git
>>>>>>>>>> add" to track)
>>>>>>>>>> $ git add .
>>>>>>>>>> $ git commit -a -m "added testing"
>>>>>>>>>>     [master (root-commit) 4f1d81d] added testing
>>>>>>>>>>      1 files changed, 1 insertions(+), 0 deletions(-)
>>>>>>>>>>      create mode 100644 testing.txt
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch master
>>>>>>>>>>     nothing to commit (working directory clean)
>>>>>>>>>> $ echo "uncommited" > uncommited.txt
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch master
>>>>>>>>>>     # Untracked files:
>>>>>>>>>>     #   (use "git add <file>..." to include in what will be
>>>>>>>>>> committed)
>>>>>>>>>>     #
>>>>>>>>>>     #     uncommited.txt
>>>>>>>>>>     nothing added to commit but untracked files present (use "git
>>>>>>>>>> add" to track)
>>>>>>>>>> $ git checkout -b my_feature
>>>>>>>>>>     Switched to a new branch 'my_feature'
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch my_feature
>>>>>>>>>>     # Untracked files:
>>>>>>>>>>     #   (use "git add <file>..." to include in what will be
>>>>>>>>>> committed)
>>>>>>>>>>     #
>>>>>>>>>>     #     uncommited.txt
>>>>>>>>>>     nothing added to commit but untracked files present (use "git
>>>>>>>>>> add" to track)
>>>>>>>>>> $ git add .
>>>>>>>>>> $ git commit -a -m "the code for my commit"
>>>>>>>>>>     [my_feature fa3dfbd] the code for my commit
>>>>>>>>>>      1 files changed, 1 insertions(+), 0 deletions(-)
>>>>>>>>>>      create mode 100644 uncommited.txt
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch my_feature
>>>>>>>>>>     nothing to commit (working directory clean)
>>>>>>>>>> $ ls -al
>>>>>>>>>>     drwxr-xr-x   5 swill  staff  170  8 Feb 12:03 .
>>>>>>>>>>     drwxr-xr-x   3 swill  staff  102  8 Feb 12:01 ..
>>>>>>>>>>     drwxr-xr-x  13 swill  staff  442  8 Feb 12:05 .git
>>>>>>>>>>     -rw-r--r--   1 swill  staff    8  8 Feb 12:02 testing.txt
>>>>>>>>>>     -rw-r--r--   1 swill  staff   11  8 Feb 12:03 uncommited.txt
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch my_feature
>>>>>>>>>>     nothing to commit (working directory clean)
>>>>>>>>>> $ git checkout master
>>>>>>>>>>     Switched to branch 'master'
>>>>>>>>>> $ git status
>>>>>>>>>>     # On branch master
>>>>>>>>>>     nothing to commit (working directory clean)
>>>>>>>>>> $ ls -al
>>>>>>>>>>     drwxr-xr-x   4 swill  staff  136  8 Feb 12:06 .
>>>>>>>>>>     drwxr-xr-x   3 swill  staff  102  8 Feb 12:01 ..
>>>>>>>>>>     drwxr-xr-x  13 swill  staff  442  8 Feb 12:06 .git
>>>>>>>>>>     -rw-r--r--   1 swill  staff    8  8 Feb 12:02 testing.txt
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 8, 2013 at 12:03 PM, Pranav Saxena <
>>>>>>>>>> [email protected]<mailto:[email protected]>> wrote:
>>>>>>>>>> Hey Mike ,
>>>>>>>>>>
>>>>>>>>>> Assuming you have done your changes on the storage-refactor
>>>>>>>>>> branch but you haven't committed or staged them and then you 
>>>>>>>>>> checkout to a
>>>>>>>>>> new branch (git checkout -b "mike_temp" ) , then your changes would 
>>>>>>>>>> still
>>>>>>>>>> be shown in the new branch . You could do a "git status" to verify 
>>>>>>>>>> your
>>>>>>>>>> list of changes before and after you checked out to a new branch.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Pranav
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Mike Tutkowski [mailto:[email protected]<mailto:
>>>>>>>>>> [email protected]>]
>>>>>>>>>> Sent: Friday, February 08, 2013 9:51 PM
>>>>>>>>>> To: [email protected]<mailto:
>>>>>>>>>> [email protected]>
>>>>>>>>>> Subject: Git Branching Question
>>>>>>>>>>
>>>>>>>>>> Hi everyone,
>>>>>>>>>>
>>>>>>>>>> I'm somewhat new to Git (mainly used SVN).
>>>>>>>>>>
>>>>>>>>>> I am currently working on the storage_refactor branch.  I've
>>>>>>>>>> added some code and changed a little existing code, but not staged or
>>>>>>>>>> committed it to my local repo.
>>>>>>>>>>
>>>>>>>>>> After I added and modified code, I was advised it would be better
>>>>>>>>>> for me to branch from storage_refactor and put my code in that branch
>>>>>>>>>> (pulling from storage_refactor as I go).
>>>>>>>>>>
>>>>>>>>>> My question is this:  With un-tracked files and modified files
>>>>>>>>>> from the storage_refactor branch (again, nothing staged or 
>>>>>>>>>> committed), if I
>>>>>>>>>> branch from storage_refactor, where will my un-tracked files and 
>>>>>>>>>> modified
>>>>>>>>>> files end up?  Will they be in my new branch and the storage_refactor
>>>>>>>>>> branch will look as if I never did anything in it (that would be 
>>>>>>>>>> ideal)?
>>>>>>>>>>
>>>>>>>>>> Thanks!
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Mike Tutkowski*
>>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>>>>>>>> e: [email protected]<mailto:
>>>>>>>>>> [email protected]>
>>>>>>>>>> o: 303.746.7302<tel:303.746.7302>
>>>>>>>>>> Advancing the way the world uses the
>>>>>>>>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>>>>>>>>> *(tm)*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Mike Tutkowski*
>>>>>>>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>>>>>>> e: [email protected]
>>>>>>>>> o: 303.746.7302
>>>>>>>>> Advancing the way the world uses the 
>>>>>>>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>>>>>>>> *™*
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Mike Tutkowski*
>>>>>>>>  *Senior CloudStack Developer, SolidFire Inc.*
>>>>>>>> e: [email protected]
>>>>>>>> o: 303.746.7302
>>>>>>>> Advancing the way the world uses the 
>>>>>>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>>>>>>> *™*
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Mike Tutkowski*
>>>>> *Senior CloudStack Developer, SolidFire Inc.*
>>>>> e: [email protected]
>>>>> o: 303.746.7302
>>>>> Advancing the way the world uses the 
>>>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>>>> *™*
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: [email protected]
>>> o: 303.746.7302
>>> Advancing the way the world uses the 
>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>> *™*
>>>
>>
>>
>


-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: [email protected]
o: 303.746.7302
Advancing the way the world uses the
cloud<http://solidfire.com/solution/overview/?video=play>
*™*

Reply via email to