git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Linck <mgl@absolute-performance.com>
To: git@vger.kernel.org
Subject: Questions about branches in git
Date: Thu, 28 Jan 2010 11:44:26 -0700	[thread overview]
Message-ID: <69b754db1001281044y39e52f77hcc8f83144776c78f@mail.gmail.com> (raw)

Hi, my company switched to git a few months ago because the way it
handles submodules seems safer to us than our previous scm tool and
because our ruby developers wanted to take advantage of the community
on github.  However, I'm having some problems getting git's
representations of branches to show me what change sets they contain.
It seems that after a topic or bug branch is merged back into its
parent, especially if it was fast forwarded, it becomes hard to
determine what changes were made in it, to resolve the problem that it
was created to address.  This is fairly important to me since I need
to be able to backport fixes to older revisions on occasion, and to
perform development on multiple releases for multiple platforms in
parallel, so it seems really handy for a branch to show us just the
changes that were made in it, between the time it was spawned from its
parent and the time the parent accepted its changes.

I've looked through as much documentation as I can find about git show
and git log, and I've played around with git rebase to try to apply
changes to multiple places, but I have not been able to find a way to
display the commits relevant to a particular bug/topic branch.
Rebasing from a branch that has already had the changeset merged back
in, to another branch, seems to actually wipe out the contents of the
branch completely.

I understand that there are mechanism kind of available to address
this problem.  If we (all developers in my company) remember always to
rebase -i before they merge their topic branches back in, then it
could be squashed making it easier to identify and cherry pick onto
other branches, or *if* we always remember to rebase before we merge
and then create a patch set and store that on the topic branch, we
could kind of organize our change sets that way.  But it seems that it
should be easier than that, shouldn't it?  If I look at the git log
for a branch, I really feel that I should see some distinction between
that changes that were originally made on a branch, and the ones that
were inherited from some other branch or merged in from some other
branch.  Simply because mistakes get made and if you we don't realize
that a fix may need to be applied to some older revision when we first
develop it, it seems that this could really cost a lot of time and
money to try to identify the individual commits that were useful in
addressing the problem.

What am I missing here?

Any help is appreciated.

Thank you,

Michael Linck

             reply	other threads:[~2010-01-28 18:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-28 18:44 Mike Linck [this message]
2010-01-28 20:03 ` Questions about branches in git Michael Witten
2010-01-28 21:17   ` Mike Linck
2010-01-28 21:29     ` Jens Lehmann
2010-01-28 21:38       ` Mike Linck
2010-01-28 23:07         ` Heiko Voigt
2010-01-29  0:03         ` Nanako Shiraishi
2010-01-29  3:03           ` Junio C Hamano
2010-01-28 22:04     ` Nicolas Pitre
2010-01-28 22:13       ` Eugene Sajine
2010-01-28 22:14       ` David Aguilar
2010-01-28 22:18     ` Michael Witten
2010-01-28 22:56       ` Mike Linck
2010-01-28 23:01         ` Michael Witten
2010-01-29 10:07   ` Peter Krefting
2010-01-28 20:20 ` Michael Witten
2010-01-28 20:35 ` Michael Witten
2010-01-28 23:00 ` Martin Langhoff
2010-01-28 23:33 ` Junio C Hamano
2010-01-29  1:16   ` Mike Linck
2010-01-29 10:06 ` Peter Krefting

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=69b754db1001281044y39e52f77hcc8f83144776c78f@mail.gmail.com \
    --to=mgl@absolute-performance.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).