Яка різниця між HEAD
та master
у Git?
Я зробив клон проекту на GitHub і хочу перенести свої зміни у пульт. Але до кого слід підштовхнути?
Яка різниця між HEAD
та master
у Git?
Я зробив клон проекту на GitHub і хочу перенести свої зміни у пульт. Але до кого слід підштовхнути?
Відповіді:
master
є посиланням на кінець гілки. За умовою (і за замовчуванням) це, як правило, основна галузь інтеграції, але цього не повинно бути.
HEAD
насправді є спеціальним типом посилання, що вказує на іншу посилання. Він може вказувати master
або не може (він вказуватиме на ту, яку галузь зараз перевірено). Якщо ви знаєте, що хочете взяти участь у master
відділенні, тоді натисніть на це.
Ось наочний приклад:
У власному сховищі ви можете перевірити, куди HEAD
вказує, запустивши це:
$ git symbolic-ref HEAD
refs/heads/master
Однак дізнатися, куди remotes/origin/HEAD
вказують, є більш складним, оскільки він знаходиться на віддаленій машині.
Тут є чудовий підручник з посилань на git:
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
Проста відповідь полягає в тому, що HEAD
це вказівник / мітка на останню фіксацію гілки, на якій ви зараз перебуваєте. master
- це гілка за замовчуванням, створена під час ініціалізації сховища git (наприклад, git init
).
Ви можете видалити master
гілку (наприклад git branch -D master
). Ви не можете видалити HEAD
покажчик.
HEAD
- це вказівник / мітка на останню комісію гілки, на якій ви зараз перебуваєте." Я думаю, що це в кращому випадку вводить в оману. Якщо ви перевірите старішу комісію, то HEAD тепер є вказівником на цю старішу комісію, а не на останню. Правильно?
checkout
команда є рівнозначною для перемикання гілок в інших поширених системах SCM.
HEAD
насправді є вказівником Git . Я ціную ваш коментар і думаю, що і інші теж. Вміст моєї оригінальної публікації, а також ваш коментар щодо подальшого доповнення доповнюють один одного. Дякую.
Просто натисніть на зміни своєї поточної гілки
git push origin
і це підштовхне вашу філію " B
" зміни до " origin/B
".
Якщо ви знаходитесь у своїй master
гілці, git підштовхнеться до origin/master
.
Насправді це призведе до зміни всіх локальних гілок, які мають відповідні віддалені гілки origin
. Це управляється конфігураційним налаштуванням push.default .
Дивіться також про натискання RefSpecs в книзі Pro Git .
Те , що ви бачите , це бічна панель , що представляє всі refspecs ваших віддалених репо в експериментальній GitX вилці з проекту GitX .
HEAD
Позначатиме гілка за замовчуванням для цього пульта дистанційного керування.
Переглянути git remote set-head
сторінку чоловіка :
Мати гілку за замовчуванням для віддаленого пристрою не потрібно, але дозволяє вказати ім'я віддаленого замість конкретної гілки.
Наприклад, якщо для гілки за замовчуваннямorigin
встановлено значенняmaster
, то виorigin
можете вказати, де б ви зазвичай не вказалиorigin/master
.