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?
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
Essayez d'utiliser la commande: git status
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.
.git/HEAD
contient le chemin de la référence actuelle, le répertoire de travail utilise comme HEAD.
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.