/ / Jak sprawić, by główny oddział śledził? - git

Jak utworzyć ścieżkę głównej gałęzi? - git

Sklonowałem repozytorium i pracowałem w gałęzi master. Wystąpił spójny problem: git push (i git push) nie działał i dawał długi, niemożliwy do zinterpretowania komunikat o błędzie. Znalazłem próbę i błąd git push origin master zrobił push poprawnie. Ale teraz zauważyłem coś dziwnego:

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

WTF? Pomyślałem, że jeśli sklonujesz repozytorium, master będzie automatycznie śledzony. W każdym razie moje prawdziwe pytania brzmią

  1. Jak mam utworzyć klon, aby gałęzie były śledzone?
  2. Jakie są konsekwencje (inne niż bieżące) nie śledzenie?
  3. Jak naprawić bieżącą sytuację, aby mój oddział śledził pilota?

EDYTOWAĆ Moje lokalne repozytorium działało dziwnie na inne sposoby; co najważniejsze: nie mogłem utworzyć odległych gałęzi. Odłożyłem go na bok i stworzyłem świeżego klona, ​​a on zachowuje się dziwnie na świeże sposoby.

Pierwszy, master śledzi (tak). Po drugie, udało mi się stworzyć zdalną gałąź, ale to dziwne.

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

Ratatuj to oczywiście nazwa zdalnego repozytorium. Dziwny punkt: co to jest -> tam dla? Wydaje się, że jest nowy i nie wyświetla się dla starego lokalnego repozytorium ani innych klonów pilota.

Ale teraz rozgałęzienia i śledzenie działają zgodnie z reklamą.

Odpowiedzi:

23 dla odpowiedzi № 1

Jaki jest Twój branch.autosetupmerge Ustawić? Domyślnie powinien on skonfigurować śledzenie gałęzi podczas klonowania.

Spróbuj ustawić upstream dla gałęzi za pomocą tego, aby gałąź śledziła zdalnie.

git branch --set-upstream master origin/master

6 dla odpowiedzi nr 2

Alternatywa: aby ustawić master, aby śledził pilota, podczas pierwszego wypychania wykonaj:

git push -u origin master

The -u zrobi to samo co --set-upstream. Potem biegnij git branch -vv aby zobaczyć listę oddziałów, w tym ich gałęzie śledzące.


2 dla odpowiedzi nr 3

Inne alternatywy:

git branch --set-upstream-to=origin/master