git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Commit changes to remote repository
@ 2012-01-13 20:29 ruperty
  2012-01-14 11:31 ` Carlos Martín Nieto
  0 siblings, 1 reply; 4+ messages in thread
From: ruperty @ 2012-01-13 20:29 UTC (permalink / raw)
  To: git

Being new to git I am probably not doing things correctly so pointers in the
right direction would be useful.

What I want to do make changes on my laptop and commit them to a remote
repository. Here is what I have done,

1. Created a repository on my remote linux host, in a folder of cource code,
by,

   git init
   git add *
   git commit

2. On my laptop I did a git clone pointing by ssh to the remote repo which
downloaded all the files to my local system.

3. I changed a file locally and did a commit.

4. I then wanted to update the remote repo with my change, which I did with
a git push, but that didn't work, getting this error,

    remote: error: refusing to update checked out branch:
refs/heads/master^[[K
    remote: error: By default, updating the current branch in a non-bare
repository^[[K.......


What am I doing wrong?

I was following the tutorial at
http://book.git-scm.com/3_distributed_workflows.html

I did search for this issue in this list but didn't understand the
responses.

Rupert


--
View this message in context: http://git.661346.n2.nabble.com/Commit-changes-to-remote-repository-tp7185551p7185551.html
Sent from the git mailing list archive at Nabble.com.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Commit changes to remote repository
  2012-01-13 20:29 Commit changes to remote repository ruperty
@ 2012-01-14 11:31 ` Carlos Martín Nieto
  2012-01-14 14:27   ` Matthieu Moy
  0 siblings, 1 reply; 4+ messages in thread
From: Carlos Martín Nieto @ 2012-01-14 11:31 UTC (permalink / raw)
  To: ruperty; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1381 bytes --]

On Fri, Jan 13, 2012 at 12:29:49PM -0800, ruperty wrote:
> Being new to git I am probably not doing things correctly so pointers in the
> right direction would be useful.
> 
> What I want to do make changes on my laptop and commit them to a remote
> repository. Here is what I have done,
> 
> 1. Created a repository on my remote linux host, in a folder of cource code,
> by,
> 
>    git init
>    git add *
>    git commit
> 
> 2. On my laptop I did a git clone pointing by ssh to the remote repo which
> downloaded all the files to my local system.
> 
> 3. I changed a file locally and did a commit.
> 
> 4. I then wanted to update the remote repo with my change, which I did with
> a git push, but that didn't work, getting this error,
> 
>     remote: error: refusing to update checked out branch:
> refs/heads/master^[[K
>     remote: error: By default, updating the current branch in a non-bare
> repository^[[K.......
> 
> 
> What am I doing wrong?

You're trying to push to a non-bare repository and change the
currently active branch, which can cause problems, so git isn't
letting you. There's an explanation of bare and non-bare at
http://bare-vs-nonbare.gitrecipes.de/ but the short and sweet is that
you should init the repo you want to use as the central point with
--bare and do modifications locally and then push there.

   cmn

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Commit changes to remote repository
  2012-01-14 11:31 ` Carlos Martín Nieto
@ 2012-01-14 14:27   ` Matthieu Moy
  2012-01-17  0:12     ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Matthieu Moy @ 2012-01-14 14:27 UTC (permalink / raw)
  To: Carlos Martín Nieto; +Cc: ruperty, git

Carlos Martín Nieto <cmn@elego.de> writes:

> You're trying to push to a non-bare repository and change the
> currently active branch, which can cause problems, so git isn't
> letting you. There's an explanation of bare and non-bare at
> http://bare-vs-nonbare.gitrecipes.de/ but the short and sweet is that
> you should init the repo you want to use as the central point with
> --bare and do modifications locally and then push there.

An alternative is to push to a temporary, non-checked-out branch.

I sometimes do

  laptop$ git push desktop HEAD:incomming

and then

  desktop$ git merge incomming

The push does not disturb the worktree on the desktop, and the merge is
done manually on the receiving machine.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Commit changes to remote repository
  2012-01-14 14:27   ` Matthieu Moy
@ 2012-01-17  0:12     ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2012-01-17  0:12 UTC (permalink / raw)
  To: Matthieu Moy; +Cc: Carlos Martín Nieto, ruperty, git

Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:

> Carlos Martín Nieto <cmn@elego.de> writes:
>
>> You're trying to push to a non-bare repository and change the
>> currently active branch, which can cause problems, so git isn't
>> letting you. There's an explanation of bare and non-bare at
>> http://bare-vs-nonbare.gitrecipes.de/ but the short and sweet is that
>> you should init the repo you want to use as the central point with
>> --bare and do modifications locally and then push there.
>
> An alternative is to push to a temporary, non-checked-out branch.

Or more generally, treat such a push as if you are pulling in the opposite
direction. So in this example,

> I sometimes do
>
>   laptop$ git push desktop HEAD:incomming
>
> and then
>
>   desktop$ git merge incomming

you pretend as if you are running "git pull" on your desktop in order to
integrate the work done on your laptop. If you did

    desktop$ git pull laptop

you would store where the branches on the laptop are in the remote
tracking branches for "laptop" remote in your desktop's repository.

So a good way to simulate that would be:

    laptop$ git push desktop master:refs/remotes/laptop/master

and then run:

    desktop$ git merge laptop/master

> The push does not disturb the worktree on the desktop, and the merge is
> done manually on the receiving machine.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-01-17  0:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-13 20:29 Commit changes to remote repository ruperty
2012-01-14 11:31 ` Carlos Martín Nieto
2012-01-14 14:27   ` Matthieu Moy
2012-01-17  0:12     ` Junio C Hamano

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).