git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Preserving branches after merging on ancestor

From
Richard Lee <richard@webdezign.co.uk>
Date
Nov 5, 2009, 18:30 UTC
Message-ID
<26217077.post@talk.nabble.com>
Hello gits,

I've been using various version control systems for several years now before coming to git two months ago. So far I've been just doing linear commits without any branches on my source code so that I end up with a linear history. This makes it very hard to see where you started and stopped working on something on the git graph.

So I tried using branches for features today. Most of the time I'm the only person working on a project. So when I've finished working on a feature branch and ready to merge it back into the master branch, the master head IS the common ancestor of the two branches. As shown below

* b6d75f1 [feature] stuff on feature branch
* 43dba08 stuff on feature branch
* ab7efdd [master] init
When I merge the graph looks likes this:
* b6d75f1 [master] [feature] stuff on feature branch
* 43dba08 stuff on feature branch
* ab7efdd init

Now I lose the start point of where I satrted on the feature branch. And if I decided to reuse the name of the branch 'feature' to work on it again by resetting it to somewhere else, I loose to finish point. (Should I be using git-reset like this?)

One way of getting round this problem is to use empty commits on the master branch, as shown below.

*   6fc04b5 Merge branch 'feature2'
|\
| * 07a117b stuff on feature2
* | 52f5ba1 Empty commit
|/
*   5deaa93 Merge branch 'feature1'
|\
| * b163b17 stuff on feature1
| * 53bb820 stuff on feature1
| * c9ef14c stuff on feature1
* | 34227a3 Empty commit
|/
* e88d332 Init

But is this correct? It seems rather hackish to create empty commits on the master branch just to historically preserve commits on a seperate branch. Should I be using feature branches in git like this or another way? For example more informative commit messages.

I cannot imagine using this empty commits fix in other VCS if they don't allow empty commits like svn or hg.

Cheers,
Richard
-- 
View this message in context: http://old.nabble.com/Preserving-branches-after-merging-on-ancestor-tp26217077p26217077.html
Sent from the git mailing list archive at Nabble.com.
Next: Eric Raible
Message 1 of 12 in “Preserving branches after merging on ancestor”
  1. Richard LeeNov 5, 2009
  2. Eric RaibleNov 5, 2009
  3. Jonathan NiederNov 5, 2009
  4. Björn SteinbrinkNov 5, 2009
  5. Jonathan NiederNov 6, 2009
  6. Björn SteinbrinkNov 6, 2009
  7. Jonathan NiederNov 6, 2009
  8. rhleeNov 6, 2009
  9. Jonathan NiederNov 6, 2009
  10. Dilip MNov 7, 2009
  11. Björn SteinbrinkNov 7, 2009
  12. Björn SteinbrinkNov 7, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.