2016-10-25 5 views
0

Ich habe die Zweigstelle einer anderen Person ausgecheckt und verfolgt.Hat einen anderen Zweig überprüft. Warum zeigt HEAD immer noch auf den Master-Zweig

git checkout --track origin/foo 

Doch obwohl ich einen anderen Zweig ausgecheckt (nicht der master Zweig), warum HEAD zeigt noch master?

Wenn ich git branch -a eingeben, bekomme ich das. So kann ich nicht Dinge tun, wie git reset HEAD^ --hard

master 
* foo 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/foo 

Ich mag im Grunde jemand anderes Zweig zu überprüfen, und daran arbeiten. Auch Commit und Push in seine Branche.

+0

Kann ich mich in dieser Branche engagieren? auch wenn dieser Zweig von einem anderen Benutzer generiert wird? Ich habe einen Post gesehen, wie du '-u' Option zu' git push' setzen musst? –

Antwort

1

Sie sollten nur git checkout foo, und es wird automatisch wissen, um den richtigen Upstream-Zweig zu verfolgen.

0

HEAD zeigt nicht auf master. Dieser Ausgang:

* foo 

bedeutet, dass Ihre lokalen HEAD-foo zeigt. Der Stern (*) steht für HEAD.

remotes/origin/HEAD -> origin/master 

was bedeutet, dass die FernHEAD zeigt auf der Fernbedienung master:

Sie haben möglicherweise von dieser Linie verwechselt worden. Dies hat keine Auswirkungen auf Ihre lokale HEAD.

Als @eddiem mentioned, in Zukunft eine lokale Niederlassung zu überprüfen, die origin/foo verfolgt, tun gerade:

git checkout foo 

(Dies setzt voraus, Sie nicht bereits eine lokale Niederlassung foo genannt haben.)

+0

"Fernbedienungen/Herkunft/HEAD -> Herkunft/Master" Ja, ich war durch diese Linie verwirrt ... Danke für den Kommentar! –

Verwandte Themen