Re: Newbie using git -- need a little help
From: Robert Smith <hidden>
Date: 2016-06-15 22:43:17
Thanks for the quick reply. I have a few questions regarding the infrastructure you described...
When you push to your server, the repository is updated (that is the thing that is in .git) but your working tree isn't.
So when you push to a repository that also has a working tree attached to it, you have to do a "git checkout" on the working tree. Or pull from the repository and not push to it.
Ahhh, that makes sense... :)
Than I publish my project to the server without giving the repository at the server a working directory attached to it. A working directory is where you can edit files and commit changes locally, just in case I didn't introduce the term yet.
# This creates the repository _without_ the working tree on the server.
ssh 131.188.30.102 git --git-dir=/home/cip/adm/sithglan/work/repositories/private/astro.git init-dbThe /home/cip/adm/sithglan/work/repositories/private/astro.git is simply a .git directory located on the "server", and it doesn't actually contain any working code (yet), right?
# This adds the remote origin to the config so that I don't have to
# type in the long repository path each time I am going to push or pull
# something.
git remote add origin 131.188.30.102:/home/cip/adm/sithglan/work/repositories/private/astro.gitSo what this command is doing is telling git where the "origin" is -- on the remote server, correct? Also, is the default protocol (since all you typed was 131.188.30.102:/.../astro.git) is SSH correct?
# Now I publish my stuff to the central repository. You need at least
# one commit in order to be able to do that.
git push origin master:master
# I add a few lines to my config so that when I type in "git pull" it
#fetches the stuff and merges it with my local repositories master branch.
"vim .git/config" and add the following lines:
[branch "master"]
remote = origin
merge = refs/heads/master
EOFI'm a little lost on what 'origin' refers to precisely. Is origin considered the "root" of all the changes (the workspace as it was originally before any patches)? Or is it a location for the working files? You give a definition below in your e-mail but I'm still not completely sure what it is referring to.
# Now I can fetch back to see if everything works
git pullMakes sense...let me give this a try. :)
Now I am fine the infrastructure is all set up. The next time I am going
to access the project from a different machine I simply do:
git pull 131.188.30.102:/home/cip/adm/sithglan/work/repositories/private/astro.git
And that's it. The origin and where it is going to merge stuff is set
automatically up by git. Note: I use ssh (attached to a ssh-agent so that I
don't have to passwords all the time I am doing a push or pull). I hope that
helps you and didn't miss your original question. I just fly over your e-Mail
and picked a few keywords to comment on.
Awesome...thanks, Thomas. I'll tinker around with this a little more and see if I can get this working as wanted.
Thanks again.
- robert -
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC