Re: Newbie: Branch management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>:
>
> 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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]