git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Allan Kelly <allankelly@gmail.com>
To: "Dr. Jennifer Nussbaum" <bg271828@yahoo.com>
Cc: git@vger.kernel.org
Subject: Re: Newbie: Branch management
Date: Wed, 22 Jul 2009 22:45:51 +0100	[thread overview]
Message-ID: <9586f3420907221445k2a8592d2ifacba57f3519f113@mail.gmail.com> (raw)
In-Reply-To: <446739.83600.qm@web53410.mail.re2.yahoo.com>

Hi Jennifer,

Like you I'm quite a new git user so I doubt I can entirely solve your
problem. However reading your mail, I recall my own initial confusion.
Like you, I maintain a main server and various work desktops.
Essentially I want my work status/environment replicated on-demand
around these desktops, with the server as the synch-point. Sounds like
you.

My observation is that the granularity of git which makes it very
malleable, is a problem when you want to do "broad brush" things like
this (and this is the typical Unix "feature-not-a-bug!"). So, I think
you need to write a few wee scripts as I have done.

I've set up very small scripts to execute a sequence of local and
ssh-based remote commands to sync things as I expect. For example,
'git add .;git commit -a -m "$MSG"; git push;' is fine but the files
in the origin server directory are out of sync for subsequent
processing & upload to the web site. This confused me a _lot_. So I
need 'ssh server_name "cd $SERVER_DIR && git checkout -f"'. Now the
server dir has the same content as my working dir.

I always call this script 'publish' and have an appropriate version in
the root of each of my working repos (the post-git compile/upload
stage differs). Then in vim I routinely execute ':./publish <project>
<commit msg> <upload Y/N>' from wherever I'm working.

If you want my (very simple!) 'publish' code then drop me a line. It
may give you a start.

HTH!

Cheers, al.

2009/7/22 Dr. Jennifer Nussbaum <bg271828@yahoo.com>:
>
> Hi,
>
> I hope its OK to ask basic questions on this list.
>
> Im a recent convert to git and having trouble with branches. I mostly work on projects by myself, and what I want is that all branches of everything Im doing are in sync everywhere.
>
> I have a remote repository on my production server that serves as the "main" repository. Then i work on projects on a number of different computers--my main home computer, my main work machine, several non-main computers :-) ...
>
> I've found it very confusing dealing with branches in this environment. If I have my "master" branch, and decide that i want a "refactoring-templates" branch, what Id *like* to do is create that branch, work on it, commit it, and when I say "git push" I want everything that's new on that computer to be synced to the "main" repository. And then when I get to the next computer, I want to be able to say "git pull" and have everything on that computer by synced *from* the "main" repository.
>
> Instead I get confused by having to push branches separately, and it's confusing that when I do a pull it doesnt necessarily get other branches unless I specify them directly, and so on.
>
> I've looked at the docs on branches and there's something i guess Im missing because this still seems very difficult. Can someone giving me advice on the best way to keep this kind of thing organized?
>
> Thanks!
>
> Jen
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

  reply	other threads:[~2009-07-22 21:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-22 20:41 Newbie: Branch management Dr. Jennifer Nussbaum
2009-07-22 21:45 ` Allan Kelly [this message]
2009-07-23  3:15   ` Allen Johnson
2009-07-23  5:39 ` Tim Harper

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=9586f3420907221445k2a8592d2ifacba57f3519f113@mail.gmail.com \
    --to=allankelly@gmail.com \
    --cc=bg271828@yahoo.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).