* Duplicating a branch
@ 2009-06-02 15:19 Aaron Gray
2009-06-02 15:36 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Aaron Gray @ 2009-06-02 15:19 UTC (permalink / raw)
To: Git Mailing List
Hi,
How do I go about duplicating a branch within a repository, so I can make
test mods ?
Many thanks in advance,
Aaron
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Duplicating a branch
2009-06-02 15:19 Duplicating a branch Aaron Gray
@ 2009-06-02 15:36 ` Junio C Hamano
2009-06-02 16:50 ` Aaron Gray
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2009-06-02 15:36 UTC (permalink / raw)
To: Aaron Gray; +Cc: Git Mailing List
"Aaron Gray" <aaronngray.lists@googlemail.com> writes:
> How do I go about duplicating a branch within a repository, so I can
> make test mods ?
Run
$ git checkout -b experiment master
to make a new "experiment" branch that points at the same comit as
"master" (or whatever other branch), hack away (including committing which
would grow the history of "experiment" branch without touching "master").
After you are done, and if you want to discard it, simply:
$ git checkout master
$ git branch -D experiment
or if you want to keep all of it:
$ git checkout master
$ git merge experiment
*BUT* if your "experiment" was truly exploratory in the sense that your
history is full of "let's try this, commit to snapshot, test, oops, it did
not work, let's try that, commit to snapshot, test, ok, I made some
progress, let's continue" crufts, you would most likely want to clean-up
your history before the latter "checkout master and merge experiment into
it" steps with something like:
$ git rebase -i master experiment
If you in advance know that what you are going to do is truly "throw-away
experiment", you do not even need to use an "experiment" branch. You can
do your exploration while on a detached HEAD:
$ git checkout master^0
and hack away, including making commits (but you will discard them in
the end), and then finally:
$ git reset --hard ;# if you have local changes you do not want to
take back to master
$ git checkout master
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Duplicating a branch
2009-06-02 15:36 ` Junio C Hamano
@ 2009-06-02 16:50 ` Aaron Gray
0 siblings, 0 replies; 3+ messages in thread
From: Aaron Gray @ 2009-06-02 16:50 UTC (permalink / raw)
To: Git Mailing List
Nice expanation and mini tutoial Junio !
Thanks ever so much, very useful.
Aaron
> "Aaron Gray" <aaronngray.lists@googlemail.com> writes:
>
>> How do I go about duplicating a branch within a repository, so I can
>> make test mods ?
>
> Run
>
> $ git checkout -b experiment master
>
> to make a new "experiment" branch that points at the same comit as
> "master" (or whatever other branch), hack away (including committing which
> would grow the history of "experiment" branch without touching "master").
>
> After you are done, and if you want to discard it, simply:
>
> $ git checkout master
> $ git branch -D experiment
>
> or if you want to keep all of it:
>
> $ git checkout master
> $ git merge experiment
>
> *BUT* if your "experiment" was truly exploratory in the sense that your
> history is full of "let's try this, commit to snapshot, test, oops, it did
> not work, let's try that, commit to snapshot, test, ok, I made some
> progress, let's continue" crufts, you would most likely want to clean-up
> your history before the latter "checkout master and merge experiment into
> it" steps with something like:
>
> $ git rebase -i master experiment
>
> If you in advance know that what you are going to do is truly "throw-away
> experiment", you do not even need to use an "experiment" branch. You can
> do your exploration while on a detached HEAD:
>
> $ git checkout master^0
>
> and hack away, including making commits (but you will discard them in
> the end), and then finally:
>
> $ git reset --hard ;# if you have local changes you do not want to
> take back to master
> $ git checkout master
>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-06-02 16:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-02 15:19 Duplicating a branch Aaron Gray
2009-06-02 15:36 ` Junio C Hamano
2009-06-02 16:50 ` Aaron Gray
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).