2012-10-22 20 views
12

Dodałem nowy oddział do repozytorium git dla nowej funkcji, którą dodałem i zapomniałem ją wyraźnie sprawdzić. Od tego czasu zmieniłem wiele plików bez popełnienia, ale chcę móc zatwierdzić te zmiany w alternatywnym oddziale, a nie kapitanie. Jak mogę to zrobić bezpiecznie?Zapomniałem oddziału w kasie przed wprowadzeniem zmian

Odpowiedz

14

Możesz po prostu zamówić nowy oddział - twoje niezatwierdzone zmiany zostaną przeniesione do nowego oddziału. (Nie jest to dozwolone, jeśli lokalne zmiany wpłynęłyby na plik, który zostałby zmieniony przez zmianę gałęzi, ale w tym przypadku brzmi to tak, jakby nowy oddział znajdował się w tej samej pozycji co ostatnie zatwierdzenie, więc nie będzie to problem.)

11
git stash 

git checkout other_branch 

git stash pop 

Trzeba to załatwić. Możesz następnie zatwierdzić jako normalny. Zobacz także: git stash manual page

+2

Oczywiście nie zaszkodzi, ale 'git stash' jest w tym przypadku niepotrzebny. –

+2

Podoba mi się dodatkowy sens bezpieczeństwa, który zapewnia. Jeśli zrobiłeś __way__ zbyt wiele zmian od ostatniego zatwierdzenia i __realnie__ nie chcesz ich stracić, nawet jeśli wiesz, że 'git checkout branch' powinno być w porządku, to wciąż pocieszające jest mieć plan awaryjny na wypadek, gdyby wszystko poszło na południe. – FireSBurnsmuP

Powiązane problemy