What I am gathering from this is that I can use git in two ways: 1) as
"just another svn" bare git repository, or 2) only pull and don't
push, because push causes confusion. I'd be happy to only ever use
pull, but I have one machine behind a firewall and can't pull. I can
push to a bare git repository like the svn model, but then I would
just use svn. What's the value of "push" then?
On 4-Dec-07, at 10:20 PM, Väinö Järvelä wrote:
quoted text > On Dec 5, 2007, at 07:59, g2 wrote:
>
>> I am currently working on some code at the office that I also want
>> to work with at home. Seems like a good candidate for git. So I
>> created a repository at work and did a "git clone" at home. I've
>> run into some strange behaviour that I don't understand and would
>> appreciate if someone can clarify for me.
>>
>> Imagine this scenario. At work:
>> git init
>> edit test.c
>> git add test.c
>> git commit
>>
>> Then at home:
>> git clone <work git url>
>> edit test.c
>> git commit -a
>> git push
>>
>> At this point, I wanted to push my changes back to my work
>> repository so I can continue work the next day. So at home, I did a
>> git push. I expect that my work repository has the newest material,
>> but I find that when I do "git status" at work the next day, it
>> tells me that my test.c is "modified" and has already staged it for
>> commit. I need to do a "git reset" followed by "git checkout" to
>> update my work folder to the latest stuff.
>
> Did you clone a bare repository and push to it?
>
> Here is an excerpt from Git User's Manual:
> "Note that the target of a "push" is normally a bare repository. You
> can also push to a repository that has a checked-out working tree,
> but the working tree will not be updated by the push. This may lead
> to unexpected results if the branch you push to is the currently
> checked-out branch!"
>
> So to push to your work repository, you should create an
> intermediary repository between the work and home repositories. You
> can create it by running:
> $ git clone --bare /git/work/ /git/work.git/
>
> Then you clone normally from the bare repository and pushing to it
> works fine. After you have pushed your changes to the bare
> repository, you'll have to pull them to the work repository to get
> the updates, just like you would do with any public repository.
>
> Another option would be to pull from your home repository to the
> work repository, if you can access your home computer from the work
> computer.
>
> --
> Väinö
>
-
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