threads / discuss / 21499

How to merge into my working copy?

Subject: How to merge into my working copy?

## tl;dr

4 messages between Nov 6, 2009 and Nov 6, 2009.

replies: 3people: 3as markdown or json

Patrick Doyle· Nov 6, 2009, 14:53 UTC · lore

I would like to pull a set of changes from a branch back into the working copy of my current branch without affecting the index. I can't figure out the right combination of --commit, --no-commit, -ff, -no-ff, --log, --no-log, --squash, --no-squash, etc... options to use with git-merge.

Basically, I created a branch off my mainline branch a few days ago. Made some commits on that branch. Then went back to my mainline branch, made a few commits there, and now I would like to make my working copy look like a merge of its current state with the changes from the branch, minus any associated commits.

I probably should have just used git-stash to tuck those changes away, but I didn't.

--wpd
Bruce Stephens· Nov 6, 2009, 14:59 UTC · re: Patrick Doyle · lore

Re: How to merge into my working copy?

Patrick Doyle <wpdster@gmail.com> writes:
[...]
Show 8 quoted lines
> Basically, I created a branch off my mainline branch a few days ago.
> Made some commits on that branch.  Then went back to my mainline
> branch, made a few commits there, and now I would like to make my
> working copy look like a merge of its current state with the changes
> from the branch, minus any associated commits.
>
> I probably should have just used git-stash to tuck those changes away,
> but I didn't.

Rather than spending time worrying about optimal ways to do this, wouldn't it work just to do merge (to get the right tree) followed by rebase -i to get the commits in the way you want (removing the merge, anyway)?

[...]
Junio C Hamano· Nov 6, 2009, 17:53 UTC · re: Patrick Doyle · lore

Re: How to merge into my working copy?

Patrick Doyle <wpdster@gmail.com> writes:
Show 11 quoted lines
> I would like to pull a set of changes from a branch back into the
> working copy of my current branch without affecting the index.  I
> can't figure out the right combination of --commit, --no-commit, -ff,
> -no-ff, --log, --no-log, --squash, --no-squash, etc... options to use
> with git-merge.
>
> Basically, I created a branch off my mainline branch a few days ago.
> Made some commits on that branch.  Then went back to my mainline
> branch, made a few commits there, and now I would like to make my
> working copy look like a merge of its current state with the changes
> from the branch, minus any associated commits.

If you do not have to have your extra "without affecting the index" constraint (which I do not see a sensible reason to want to, by the way), you can "merge --no-commit that_branch", I think.

Patrick Doyle· Nov 6, 2009, 18:15 UTC · re: Junio C Hamano · lore

Re: How to merge into my working copy?

On Fri, Nov 6, 2009 at 12:53 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 5 quoted lines
>
> If you do not have to have your extra "without affecting the index"
> constraint (which I do not see a sensible reason to want to, by the way),
> you can "merge --no-commit that_branch", I think.
>

After bouncing this around a couple of times with Bruce Stephens, and only now noticing that I hit "Reply" instead of "Reply-All"... sigh), I realized that what I wanted was:

$ git merge --squash that_branch $ git reset

I only wanted to affect my working copy, editing and adding things to the index (which I think of as "staging area for my next commit") as I was ready.

--wpd

← back to recent threads