Как сделать мастер ветку трек? - PullRequest
9 голосов
/ 25 февраля 2011

Я клонировал репозиторий и работал в основной ветке.Была постоянная проблема: git pushgit push) не работали и выдавали длинное необратимое сообщение об ошибке.Методом проб и ошибок я обнаружил, что git push origin master сделал толчок правильно.Но теперь я заметил нечто странное:

$ git config push.default tracking
$ git push
fatal: The current branch master is not tracking anything.

WTF?Я думал, что если вы клонировали репозиторий, мастер автоматически отслеживался.Во всяком случае, мои настоящие вопросы:

  1. Как я должен создать клон, чтобы отслеживались ветви?
  2. Каковы последствия (кроме текущих) не с отслеживанием?
  3. Как исправить текущую ситуацию, чтобы моя ветвь отслеживала удаленный?

РЕДАКТИРОВАТЬ Мой локальный репозиторий работал страннодругими способами;в частности: я не мог создавать удаленные ветви.Я отложил это в сторону и сделал новый клон, и он странно действует по-новому.

Во-первых, master отслеживает (да).Во-вторых, мне удалось создать удаленную ветку, но это странно.

Ratatouille $ git push origin origin:refs/heads/premium
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:gamecrush/Ratatouille.git
 * [new branch]      origin/HEAD -> premium
Ratatouille $ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/premium

Ratatouille - это, конечно, имя удаленного репо.Странный вопрос: для чего это ->?Кажется, он новый и не отображается для старого локального репо или других клонов пульта.

Но теперь ветвление и отслеживание работают так, как объявлено.

Ответы [ 3 ]

23 голосов
/ 25 февраля 2011

На что настроен branch.autosetupmerge?По умолчанию он должен был настроить отслеживание ветвления при клонировании.

Попробуйте настроить восходящий канал для этой ветки, чтобы сделать отслеживание ветвления удаленным.

git branch --set-upstream master origin/master
6 голосов
/ 25 февраля 2011

Альтернатива: установить мастер для отслеживания пульта, во время первого нажатия:

git push -u origin master

-u будет делать то же самое, что и --set-upstream. После этого запустите git branch -vv, чтобы увидеть список веток, включая их ветви отслеживания.

4 голосов
/ 15 июля 2013

Другая альтернатива:

git branch --set-upstream-to=origin/master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...