From: Junio C Hamano <gitster@pobox.com>
To: Brent Goodrick <bgoodr@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Is there a way to exclude user-specified files or directories from participating in merges?
Date: Tue, 17 Feb 2009 17:05:07 -0800 [thread overview]
Message-ID: <7v1vtw367w.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <e38bce640902171649g765275a4n4e86d1d4f4aaf394@mail.gmail.com> (Brent Goodrick's message of "Tue, 17 Feb 2009 16:49:01 -0800")
Brent Goodrick <bgoodr@gmail.com> writes:
> Suppose I create a git repo called central.git on a machine I will
> call "central". In that central.git repo, I put these files:
>
> work.sh
> home.sh
> generic.sh
>
> When I clone the central.git repo on to a different machine I will
> call "work", I want this fileset to be pulled:
>
> work.sh
> generic.sh
>
> But not the home.sh file.
You would have one common branch and one branch per deployment.
A common branch would host only common files (e.g. generic.sh file from
your example). Per deployment branch, e.g. home, would branch from the
common branch (so it starts with some version of generic.sh) and may add
its own private files (e.g. home.sh).
And stick to the following two rules:
- You make edits to common files only on the common branch.
- You merge from common to deployment, never the other way.
So at work, you would have a checkout of your work "deployment branch",
and find needs to change things. It is Ok to edit both work.sh and
generic.sh (without being able to edit both, it would be hard to verify if
the changes would work together) at this time, but don't commit the result
in the work branch.
Save the changes to work.sh away (e.g. "git diff work.sh >P.diff" and then
"git checkout HEAD work.sh"), switch to the common branch, and commit the
changes to the generic file. Switch back to the deployment branch, merge
the common branch (to pick up the changes to home.sh), reapply the changes
specific to the deployment you saved earlier (e.g. "git apply P.diff"),
tne commit the result.
next prev parent reply other threads:[~2009-02-18 1:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-18 0:49 Is there a way to exclude user-specified files or directories from participating in merges? Brent Goodrick
2009-02-18 1:05 ` Junio C Hamano [this message]
2009-02-18 1:32 ` Brent Goodrick
2009-02-18 1:58 ` Junio C Hamano
2009-02-18 5:39 ` Brent Goodrick
2009-02-18 1:36 ` Junio C Hamano
2009-02-18 13:33 ` Sitaram Chamarty
2009-02-18 19:02 ` Junio C Hamano
2009-02-19 13:37 ` Sitaram Chamarty
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=7v1vtw367w.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=bgoodr@gmail.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).