2015-08-20 8 views

Odpowiedz

11

niezatwierdzone zmiany będą przemieszczać się z jednego oddziału do drugiego. Aby je rozdzielić, musisz je zmienić przed przeniesieniem do innej gałęzi. Po powrocie do oddziału możesz wprowadzić te zmiany, aby je odzyskać.

Jak widać poniżej:

>$ git status 
On branch branch_1 
Your branch is up-to-date with 'origin/branch_1'. 

modified: dir/file.rb 
>$ git stash 
>$ git checkout <branch_2> 

>$ git checkout <branch_1> #after finishing your tasks in branch_2 you can go back to branch_1 
>$ git stash apply 

Teraz dostaniesz z powrotem zmiany zostały zrobione wcześniej w branch_1

+3

* "Nieprawidłowe zatwierdzenie" *? Prawdopodobnie masz na myśli "niezatwierdzone zmiany". I nie przenoszą się z jednej gałęzi do drugiej. Nie znajdują się w żadnej gałęzi, ponieważ nie znajdują się w repozytorium (nie są jeszcze zatwierdzone). – axiac

+1

Tak, niezatwierdzone zmiany nie będą dotyczyły żadnego oddziału, więc będą dostępne w innym oddziale, jeśli wymeldujesz się. –

4

mi KASY odgałęzienie A zmodyfikować plik, a kiedy kasa mistrz znowu zmiany są tam też.

Zmiany, które nie zostały zatwierdzone, nie należą do żadnej gałęzi. Są one obecne tylko w drzewie pracy (oraz w indeksie, jeśli zostały dodane).

Dobrą praktyką jest posiadanie czystego drzewa roboczego podczas przełączania gałęzi, aby uniknąć problemów, gdy zmiany w drzewie pracy kolidują z różnicami między przełączanymi gałęziami.

Ponieważ oddział A został właśnie utworzony i nie popełnił nic na nim i ani na master oddział A punkty do tego samego popełnić jak master i przełączanie między A i master nie wymaga zmian w drzewie pracy. Dlatego możesz zmieniać gałęzie bez wchodzenia w konflikt.

W celu wprowadzenia zmian właśnie zrobiłeś w oddziale (powiedzmy, że wyrejestrowany oddział jest A) trzeba dodać do indeksu, a następnie zatwierdzić je:

git add . 
git commit 

Więcej o git add i git commit.