Как узнать, в какую ветку git я нахожусь, когда мой диск смонтирован на другом сервере - PullRequest
50 голосов
/ 20 февраля 2011

Наше git-репо находится на сервере Linux;Я могу быть в основной ветке или создать новую ветку, в которую я могу зайти и использовать.

Наш диск git repo монтируется на AIX для сборки (я вижу каталог git в AIX, который позволяет мнепостроить)

В окне AIX, как я могу видеть, что я использую master или внутри определенной ветви.Что меняется внутри .git, который определяет, на какой ветке я нахожусь?

Ответы [ 5 ]

104 голосов
/ 01 мая 2011

git branch без аргументов отображает текущую ветку, отмеченную звездочкой перед ней:

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

Чтобы не вводить это все время, я могу порекомендовать git prompt:

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

В окне AIX я вижу, что использую master или внутри определенной ветки. Что меняется внутри .git, который определяет, на какой ветке я нахожусь?

Git сохраняет HEAD в файле .git/HEAD. Если вы находитесь на ветке master, это может выглядеть так:

$ cat .git/HEAD
ref: refs/heads/master
23 голосов
/ 20 февраля 2013

Попробуйте использовать команду: git status

3 голосов
/ 20 февраля 2011

Вы можете посмотреть на указатель HEAD (хранящийся в .git/HEAD), чтобы увидеть sha1 текущего извлеченного коммита, или он будет иметь формат ref: refs/heads/foo, например, если у вас есть локальный ref fooпроверено.

РЕДАКТИРОВАТЬ : Если вы хотите сделать это из оболочки, git symbolic-ref HEAD даст вам ту же информацию.

0 голосов
/ 27 августа 2016

Наш диск git repo смонтирован на AIX box для выполнения BUILD.

Похоже, вы смонтировали диск, на котором хранилище git хранится на другом сервере, и вы спрашиваете, как это изменить. Если это так, то это плохая идея.

Сервер сборки должен иметь свою собственную копию репозитория git, и он будет локально управляться git на сервере сборки. Репозиторий сервера сборки будет подключен к «основному» репозиторию git с помощью «удаленного», и вы можете выполнить команду git pull, чтобы обновить локальный репозиторий на сервере сборки.

Если вы не хотите заниматься настройкой SSH или сервера gitolite или чего-то подобного, вы можете использовать путь к файлу в качестве «удаленного» местоположения. Таким образом, вы можете продолжить монтировать файловую систему сервера Linux на сервере сборки, но вместо запуска сборки из этого смонтированного пути клонируйте репозиторий в другую папку и запустите его оттуда.

0 голосов
/ 20 февраля 2011

.git/HEAD содержит путь текущей ссылки, рабочий каталог используется в качестве HEAD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...