web-dev-qa-db-de.com

Wie finde ich heraus, auf welchem ​​Git-Zweig ich bin, wenn meine Festplatte auf einem anderen Server bereitgestellt wird?

Unser Git Repo befindet sich auf einem Linux-Server. Ich kann im Master-Zweig sein oder einen neuen Zweig erstellen, den ich betreten und verwenden kann.

Unsere Git-Repo-Disk wird zum Erstellen auf AIX-Box angehängt (ich kann das git-Verzeichnis in der AIX-Box sehen, in dem ich bauen kann)

In der AIX-Box kann ich sehen, dass ich Master oder in einem bestimmten Zweig verwende. Was ändert sich innerhalb von .git, in dem ich mich befinde?

44
user79292

git branch ohne Argumente zeigt den aktuellen Zweig an, der mit einem Sternchen markiert ist:

[email protected]:~/gittest$ git branch
* master
  someotherbranch

Um dies nicht ständig eingeben zu müssen, kann ich git Prompt empfehlen:

http://volnitsky.com/project/git-Prompt/

In der AIX-Box kann ich sehen, dass ich Master oder in einem bestimmten Zweig verwende. Was ändert sich innerhalb von .git, in dem ich mich befinde?

Git speichert die HEAD in der Datei .git/HEAD. Wenn Sie sich im Zweig master befinden, könnte dies folgendermaßen aussehen:

$ cat .git/HEAD
ref: refs/heads/master
95
ralphtheninja

Versuchen Sie es mit dem Befehl: git status

21
Andrew Thomas

Sie können den Zeiger HEAD (in .git/HEAD gespeichert) anzeigen, um die sha1 des aktuell ausgecheckten Commits zu sehen, oder er hat das Format ref: refs/heads/foo, wenn Sie beispielsweise einen lokalen ref foo ausgecheckt haben.

EDIT: Wenn Sie dies von einer Shell aus durchführen möchten, gibt Ihnen git symbolic-ref HEAD die gleichen Informationen.

3
Matt Enright

.git/HEAD enthält den Pfad des aktuellen Ref, den das Arbeitsverzeichnis als HEAD verwendet.

0
poke

Unsere Git Repo-Diskette ist auf AIX-Box montiert, um BUILD zu machen.

Es klingt so, als hätten Sie das Laufwerk gemountet, auf dem das Git-Repository auf einem anderen Server gespeichert ist, und Sie fragen, wie Sie das ändern können. Wenn dies der Fall ist, ist dies eine schlechte Idee.

Der Build-Server sollte über eine eigene Kopie des git-Repository verfügen und wird lokal von git auf dem Build-Server verwaltet .. Das Build-Server-Repository wird mit dem "main" -git-Repository mit "remote" und verbunden Sie können den Befehl git pull ausführen, um das lokale Repository auf dem Build-Server zu aktualisieren.

Wenn Sie sich nicht mit der Einrichtung von SSH oder eines Gitolite-Servers oder ähnlichem beschäftigen möchten, können Sie einen Dateipfad als "Remote" -Ordner verwenden. Sie können also das Dateisystem des Linux-Servers weiterhin auf dem Build-Server bereitstellen. Statt jedoch den Build aus diesem bereitgestellten Pfad auszuführen, klonen Sie das Repository in einen anderen Ordner und führen Sie es von dort aus aus.

0
Robin Daugherty