2010-04-30 23 views
5

Poznałem tworzenie, scalanie i usuwanie gałęzi. Lubię wiedzieć, gdzie jestem, więc nie angażuję się w niewłaściwą gałąź. Używam git branch -a, aby zobaczyć, które gałęzie mam. Myślę, że asterix * pokazuje, w której gałęzi aktualnie jestem. Co to znaczy, kiedy się: Gdzie jestem? * (brak gałęzi)

* (no branch) 
master 
origin/HEAD 

Bo kiedy $git checkout mybranch spodziewam się zobaczyć

* mybranch 
master 
origin/HEAD 

+0

Czy przypadkowo usunięto oddział? –

+0

Jaki był wynik 'git branch -a'? Czy zawierało 'zdalne/origin/mybranch'? –

Odpowiedz

1

To nie wygląda jak trzeba galaz mybranch. Jeśli chcesz utworzyć gałąź, która wskazuje bieżącą głowicę, użyj git branch foo.

Jeśli chcesz taki, który wskazuje na inny ref użyć git checkout -b newbranch <ref>

4

Strona git checkout człowiek nie wspomina, bo nazwa gałęzi argumentu:

<branch> 

gałęzi na kasie;

  • jeśli odnosi się do gałęzi (to znaczy, nazwa, że ​​gdy poprzedzane „refs/heads/” jest ważny REF), to odgałęzienie jest zablokowany.
  • W przeciwnym razie, jeśli odnosi się do prawidłowego zatwierdzenia, Twój HEAD zostaje "odłączony" i nie należy już do żadnej gałęzi.

Więc zamiast po wyrejestrowany nazwę oddziału, trzeba mieć wyrejestrowany nazwę znacznika (ważny commit), dzięki czemu HEAD a detached one.

+0

Masz absolutną rację, miałem odłączoną głowę. Był to dla mnie nieznany scenariusz, który obejrzałam w moich badaniach gałęzi. Znalazłem wszystkie informacje potrzebne do naprawienia tego. Dzięki za wskazanie mi właściwego kierunku! – Neofizz

Powiązane problemy