incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Will Stevens <wstev...@cloudops.com>
Subject Re: Git Branching Question
Date Tue, 12 Feb 2013 22:04:15 GMT
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 <
mike.tutkowski@solidfire.com> 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 <wstevens@cloudops.com>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 <
>> mike.tutkowski@solidfire.com> wrote:
>>
>>> Great - thanks, Will!
>>>
>>>
>>> On Tue, Feb 12, 2013 at 2:43 PM, Will Stevens <wstevens@cloudops.com>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 <wstevens@cloudops.com>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 <
>>>>> mike.tutkowski@solidfire.com> 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 <
>>>>>> mike.tutkowski@solidfire.com> wrote:
>>>>>>
>>>>>>> Awesome - thanks, everyone!
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Feb 8, 2013 at 10:38 AM, Pranav Saxena <
>>>>>>> pranav.saxena@citrix.com> 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:wstevens@cloudops.com]
>>>>>>>> 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 <
>>>>>>>> pranav.saxena@citrix.com<mailto:pranav.saxena@citrix.com>>
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:mike.tutkowski@solidfire.com<mailto:
>>>>>>>> mike.tutkowski@solidfire.com>]
>>>>>>>> Sent: Friday, February 08, 2013 9:51 PM
>>>>>>>> To: cloudstack-dev@incubator.apache.org<mailto:
>>>>>>>> cloudstack-dev@incubator.apache.org>
>>>>>>>> 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: mike.tutkowski@solidfire.com<mailto:mike.tutkowski@solidfire.com
>>>>>>>> >
>>>>>>>> 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: mike.tutkowski@solidfire.com
>>>>>>> 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: mike.tutkowski@solidfire.com
>>>>>> 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: mike.tutkowski@solidfire.com
>>> 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: mike.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud<http://solidfire.com/solution/overview/?video=play>
> *™*
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message