On Mon, 11 Jul 2005, Marc Singer wrote:
> 
> Does it make sense to think about this branch as an flow of commits?
> Or is it just a starting point for a line of development?

It's really a flow of commits. Nothing will ever really remember what the 
starting point was at some later date if you have done commits, and the 
branch will always follow the _head_ of development on that branch.

So if you need to remember the starting point as a _static_ entity, you
need to create a tag pointing to that place. You can do that at any point,
very much including after you've already done development (but before you
forget what to tag ;)

> If I make a branch, check it out, commit changes to it, and then clobber
> the working directory, can I later resume that branch of development
> without creating a new branch?

Absolutely. You can create a branch, commit to it, switch to another 
branch, commit to that one, switch back to the branch you created, and 
just go on. A branch will always follow the development.

> Do I need to set a tag to mark the last commit on that branch?

No, but as mentioned, _if_ you care about remembering where you _started_ 
the branch, you may want to tag that.

Of course, most of the time you really really don't care. It will be
largely obvious from the global commit history, which you can trivially
visualize with "gitk --all". You'll see where your branch "split off" the
main branch, and the only case where that is ambiguous is if you started
your branch at the tip of another branch, and no other development has
gone on in that other branch - then you don't see a "fork".

Of course, the other reason you usually don't care where you started is
that you simply don't care.  When you use CVS, you usually need to know
where the branch was started (and each point it was merged at) just so
that you can sanely merge it by doing diffs etc. With git, since we have
all the proper history, that's not necessary at all.

So I _suspect_ that most of the time when you create a branch, you don't 
need to tag where you started. Others will see what is your development 
simply by virtue of it being in your tree and not in other peoples tree, 
whether you created a branch for that or not ;)

                Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to