threads / discuss / 42820

git push doesn't update the status with multiple remotes

Subject: git push doesn't update the status with multiple remotes

## tl;dr

3 messages between Jul 11, 2016 and Jul 12, 2016.

replies: 2people: 2as markdown or json

Garoe· Jul 11, 2016, 16:54 UTC · lore
Hello,
I'm using git 1.9.1 in Ubuntu 14.04.

I have a repository on github, a clone on my desktop and bare repo on a private server, in my desktop the remotes looks like this

all git@github.com:user/repo.git (fetch) all git@github.com:user/repo.git (push) all user@server.com:user/repo.git (push) server user@server.com:user/repo.git (fetch) server user@server.com:user/repo.git (push) origin git@github.com:user/repo.git (fetch) origin git@github.com:user/repo.git (push)

If I commit to master in my desktop and run 'git push all master', the github and the server repos are correctly updated, but if I run 'git status' the message says:

Your branch is ahead of 'origin/master' by 1 commit.
   (use "git push" to publish your local commits)

The message won't update unless I run git fetch or git push origin master. I'd expect the git status to give me a updated status message after calling 'git push all master'.

Best regards, Garoe

Johannes Sixt· Jul 12, 2016, 05:26 UTC · re: Garoe · lore

Re: git push doesn't update the status with multiple remotes

Am 11.07.2016 um 18:54 schrieb Garoe:
Show 17 quoted lines
> I have a repository on github, a clone on my desktop and bare repo on a
> private server, in my desktop the remotes looks like this
>
> all    git@github.com:user/repo.git (fetch)
> all    git@github.com:user/repo.git (push)
> all    user@server.com:user/repo.git (push)
> server    user@server.com:user/repo.git (fetch)
> server    user@server.com:user/repo.git (push)
> origin    git@github.com:user/repo.git (fetch)
> origin    git@github.com:user/repo.git (push)
>
> If I commit to master in my desktop and run 'git push all master', the
> github and the server repos are correctly updated, but if I run 'git
> status' the message says:
>
> Your branch is ahead of 'origin/master' by 1 commit.
>   (use "git push" to publish your local commits)

But "all" and "origin" are different remotes. Just because you use the same URL does not make them the same remote repository from the view of your local repository.

(Additionally, "all" is not a special name, just in case you had expected that.)

> The message won't update unless I run git fetch or git push origin master.
Yes, that's how it is supposed to work.

I think there is some way to configure that a single push command pushes to several remote repositories, but I can't find it right now...

-- Hannes
Garoe· Jul 12, 2016, 08:44 UTC · re: Johannes Sixt · lore

Re: git push doesn't update the status with multiple remotes

Thanks for the quick reply.
On 12/07/16 06:26, Johannes Sixt wrote:
Show 22 quoted lines
> Am 11.07.2016 um 18:54 schrieb Garoe:
>> I have a repository on github, a clone on my desktop and bare repo on a
>> private server, in my desktop the remotes looks like this
>>
>> all    git@github.com:user/repo.git (fetch)
>> all    git@github.com:user/repo.git (push)
>> all    user@server.com:user/repo.git (push)
>> server    user@server.com:user/repo.git (fetch)
>> server    user@server.com:user/repo.git (push)
>> origin    git@github.com:user/repo.git (fetch)
>> origin    git@github.com:user/repo.git (push)
>>
>> If I commit to master in my desktop and run 'git push all master', the
>> github and the server repos are correctly updated, but if I run 'git
>> status' the message says:
>>
>> Your branch is ahead of 'origin/master' by 1 commit.
>>   (use "git push" to publish your local commits)
>
> But "all" and "origin" are different remotes. Just because you use the
> same URL does not make them the same remote repository from the view of
> your local repository.

I expected git to be "intelligent" enough to detect that if the url are the same, it had already exchanged information with the server by the push command, so it would update the message without explicitly pushing to origin.

Show 8 quoted lines
>
> (Additionally, "all" is not a special name, just in case you had
> expected that.)
>
>> The message won't update unless I run git fetch or git push origin
>> master.
>
> Yes, that's how it is supposed to work.
 From my point of view the current behaviour is counter-intuitive. 
Anyhow, I understand by your answer that the current behaviour is 
desired and it won't be changed.
Show 5 quoted lines
> I think there is some way to configure that a single push command pushes
> to several remote repositories, but I can't find it right now...
>
> -- Hannes
>

Thanks again, Garoe

← back to recent threads