Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: Newbie using git -- need a little help

From: Thomas Glanzmann <hidden>
Date: 2016-06-15 22:43:17

Hello Robert,
The /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?
Right.

(faui02) [~/work/repositories/private/astro.git] ls
HEAD  branches/  config  description  hooks/  info/  objects/  refs/  remotes/
So 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?
The default protocol is git over ssh. And it adds a shorthand called
origin that points to the repository at the server you can now say:

        git push origin
        git pull origin

Since origin is the default, you can also say:

        git push
        git pull

Note when you do a "git clone ip:/path/to/dir.git", git will
automatically set up the reference to origin. You don't have to do it
yourself. In my initial example you had to do it yourself, because at
the time you started with the new project there was no origin because
you just started it.
I'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.
"origin" is a shorthand for the remote repository. If you say git pull
git fetches the objects that are reference in the remote repository by
the head "master" (by default) and puts that in a local file called
.git/refs/remotes/origin/master:

(faui02) [~/work/blastwave] ls -al .git/refs/remotes/origin/master
-rw-r--r-- 1 sithglan icipguru 41 Jun 14 18:35 .git/refs/remotes/origin/master
(faui02) [~/work/blastwave] cat !$
cat .git/refs/remotes/origin/master
50da5cf500b8b57e32720ffe80fbabaadd7c8c9f

After that it tries to merge that remote head into your local branches
head.  Most of the time that is .git/refs/heads/master

If you type in only "git fetch" it gets the objects but doesn't do any
merging.

So to answer your question. Origin is a copy of the repository you
pull/push by default. The objects of these tree are in your object store
but the actualy HEAD commit object is in the file I "cat" earlier in
this e-Mail.

        Thomas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help