From: Andy Parkins <andyparkins@gmail.com>
To: git@vger.kernel.org
Cc: Jan Wielemaker <wielemak@science.uva.nl>
Subject: Re: Howto request: going home in the middle of something?
Date: Thu, 18 Oct 2007 12:29:03 +0100 [thread overview]
Message-ID: <200710181229.07106.andyparkins@gmail.com> (raw)
In-Reply-To: <200710181144.22655.wielemak@science.uva.nl>
On Thursday 2007 October 18, Jan Wielemaker wrote:
> I've somewhere seen it in a mail, but I can't find it anymore. I have a
> bare central (public) repository and clones on various machines I work
> on. We all know it, you're right in the middle of something and it is
> really time to go home. You want to pick up your work at home, but
> without pushing to the shared repository.
>
> I'm sure GIT can do this elegantly, but I'm not yet sure how. I guess
> Ideally I want "git stash" at work, transfer the stashed changes to my
> other machine and apply them. How do I do that?
>
> Alternatively, I guess, one can commit at machine A, fetch the commit
> from machine A and continue. I'm still too uncertain about the remote
> access options to work this out properly, but it also feels less
> clean.
>
> How do you deal with this?
I have two remotes (typically) in my .git/config. One for the real central
repository and one for the alternate computer. The two locations (say home
and work) list the other as a remote.
So; before I go home I do this:
git commit -b temp -a -m "Hold for transport home"
Then when I get home I do this:
git fetch work
git merge work/temp
git reset HEAD^
# code code code
git commit -b temp -a -m "Hold for transport to work"
When I'm finished at home and want to carry on at work:
git fetch --force home
git merge home/temp
git reset HEAD^
# start coding for the day
Obviously if you do this repeatedly you'd need to tidy up the left over temp
branches, or ensure that your remote configurations list "+" in the fetch
lines. You can also use pushes instead of fetches if you're that way
inclined, or you have a connection problem in one direction because of a
firewall.
It's slightly inelegant but it does ensure that nothing is ever accidentally
lost by overwriting new with newer, which happened a few times in the days
when I used rsync for copying the working directory between computers.
Andy
--
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com
prev parent reply other threads:[~2007-10-18 11:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-18 9:44 Howto request: going home in the middle of something? Jan Wielemaker
2007-10-18 10:37 ` Johannes Sixt
2007-10-18 11:07 ` Karl Hasselström
2007-10-18 11:27 ` Petr Baudis
2007-10-22 8:44 ` Jan Wielemaker
2007-10-22 11:32 ` Johannes Schindelin
2007-10-23 17:56 ` Jing Xue
2007-10-23 18:38 ` Jan Wielemaker
2007-10-23 20:28 ` Matthias Kestenholz
2007-10-24 13:44 ` Jing Xue
2007-10-18 11:29 ` Andy Parkins [this message]
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=200710181229.07106.andyparkins@gmail.com \
--to=andyparkins@gmail.com \
--cc=git@vger.kernel.org \
--cc=wielemak@science.uva.nl \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.