2013-06-17 12 views
5

Przepływ pracy naszej firmy polega na klonowaniu gałęzi głównej do gałęzi _Test, gdy pracujemy nad nowymi funkcjami i nieustannie pchamy/udostępniamy gałąź _Test do momentu funkcje są kompletne i zatwierdzone przez klienta, następnie łączymy się z mistrzem oddziału oraz budujemy i publikujemy nasze witryny. Następnie spłucz i powtórz.Status Git nie wyświetla się "przed" po edycji i zatwierdza do lokalnego repo

Problem, który mam, to status gita, który nie pokazuje poprawnych wyników z wyprzedzeniem (lub, co bardziej prawdopodobne, nie rozumiem, co ma pokazywać) podczas pracy w gałęzi _Test. Gdybym wykonać następujące kroki:

  1. git checkout _Test
  2. git pull origin --rebase _Test # dostać najnowszy kod
  3. zmienił niektóre pliki
  4. się popełnić -am "Test popełnić"
  5. git status

Po kroku czwartym, wyjście git jest

[_Test d6fa824] Test commit 
1 file changed, 1 insertion(+), 1 deletion(-) 

Następnie po kroku piątym, wyjście git jest

# On branch _Test 
nothing to commit, working directory clean 

Gdyby nie to powiedzieć?

Your branch is ahead of 'origin/_Test' by 1 commit. 

Jeśli patrzę na qgit lub gitk pokazują pochodzenia/_Test i piloty/pochodzenia/_Test odpowiednio (prawidłowo) 1 popełnić za ostatnim teście popełnić. Biegnę msysgit i wersji git wyjścia:

git version 1.8.1.mysysgit.1 

Więc jestem zdezorientowany, dlaczego wyjście z git commit nie stwierdzić, że jestem przed pochodzenia/_Test (jeśli oczywiście jestem odkąd tylko popełnione) i dlaczego status git nie określa tych samych informacji.

Daj mi znać, jeśli chcę podać więcej informacji.

+0

duplikat http://stackoverflow.com/questions/5341077/git-doesnt-show-how-many-commits- z wyprzedzeniem-i-jestem-i-chcę-to-do – stevemao

Odpowiedz

3

Rozwiązałem ten problem.

Zasadniczo trzeba skonfigurować śledzenie git przy użyciu

git branch --set-upstream *branch_name* 

Read my full explanation here

+0

Hmm, rozwiązałem się, nie robiąc ciągnika git specyficznego dla _Test, po prostu wykonałem polecenie git jako polecenie "globalne", spodziewając się/mając nadzieję zaktualizowałoby wszystkie gałęzie "w razie potrzeby". Wydaje się, że rozwiązał mój problem, ale może twoja droga jest właściwą drogą? Przeszukałem go i zobaczyłem podobne komentarze na temat mojego problemu, a ludzie sugerowali, że po prostu wykonuję pełny ruch? – Terry

+0

Jestem całkiem nowy w używaniu gita, więc nie powiedziałbym, że sposób, w jaki to zrobiłem, był prawidłowy. Dzięki za stwierdzenie, jak to zrobiłeś, wygląda to znacznie szybciej niż jak to zrobiłem. – gray

+1

git poleca używając 'git branch --set-upstream-to ...' teraz – kingPuppy

Powiązane problemy