web-dev-qa-db-fra.com

Comment trouver la branche git sur laquelle je me trouve lorsque mon disque est monté sur un autre serveur

Notre dépôt Git est sur un serveur Linux; Je peux être sur la branche principale ou créer une nouvelle branche dans laquelle je peux aller et utiliser.

Notre disque git repo est monté sur une boîte AIX pour construire (je peux voir le répertoire git dans la boîte AIX qui me permet de construire).

Dans la zone AIX, je vois comment utiliser Master ou à l'intérieur d'une branche particulière. Quels changements à l'intérieur de .git qui détermine la branche sur laquelle je suis?

44
user79292

git branch sans argument affiche la branche en cours précédée d'un astérisque:

user@Host:~/gittest$ git branch
* master
  someotherbranch

Afin de ne pas avoir à taper cela tout le temps, je peux recommander git Prompt:

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

Dans la zone AIX, je vois comment utiliser Master ou à l'intérieur d'une branche particulière. Quels changements à l'intérieur de .git qui détermine la branche sur laquelle je suis?

Git stocke la HEAD dans le fichier .git/HEAD. Si vous êtes sur la branche master, cela pourrait ressembler à ceci:

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

Essayez d'utiliser la commande: git status

21
Andrew Thomas

Vous pouvez regarder le pointeur HEAD (enregistré dans .git/HEAD) pour voir le sha1 du commit actuellement extrait, ou il sera au format ref: refs/heads/foo par exemple si vous avez une référence locale foo extraite.

EDIT: Si vous souhaitez utiliser un shell, git symbolic-ref HEAD vous donnera les mêmes informations.

3
Matt Enright

.git/HEAD contient le chemin de la référence actuelle, le répertoire de travail utilise comme HEAD.

0
poke

Notre disque git repo est monté sur AIX Box pour pouvoir BUILD.

On dirait que vous avez monté le disque sur lequel le référentiel git est stocké sur un autre serveur, et vous demandez comment modifier cela . Si tel est le cas, c'est une mauvaise idée.

Le serveur de construction doit avoir sa propre copie du référentiel git et sera géré localement par git sur le serveur de construction ..__ Le référentiel du serveur de construction sera connecté au référentiel git "principal" avec un "distant", et vous pouvez émettre la commande git pull pour mettre à jour le référentiel local sur le serveur de génération.

Si vous ne souhaitez pas avoir à configurer SSH, un serveur gitolite ou quelque chose de similaire, vous pouvez utiliser un chemin de fichier comme emplacement "distant". Vous pouvez donc continuer à monter le système de fichiers du serveur Linux sur le serveur de génération, mais au lieu d'exécuter la génération à partir de ce chemin monté, clonez le référentiel dans un autre dossier et exécutez-le à partir de celui-ci.

0
Robin Daugherty