2010-03-22 8 views
16

Pracuję nad projektem i wszystkie moje testy przechodziły do ​​głównego oddziału. Potem wprowadziłem pewne zmiany, a kiedy wszystko zaczęło się nie udawać, zdałem sobie sprawę, że być może powinienem dokonać tych zmian w innej gałęzi. Czy istnieje sposób, w jaki mogę zatwierdzić zmiany w nowym oddziale bez zobowiązania się do mojego oddziału głównego, tak aby mistrz nadal przechodził testy maturalne?Git: Czy mogę przekazać mój katalog roboczy do nowego oddziału bez angażowania go w bieżącą gałąź?

Odpowiedz

23

Tak, wystarczy utworzyć nowy oddział i to sprawdzić:

$ git checkout -b new-branch 

Następnie popełnić żadnych zmian masz. Zostaną one zastosowane do nowego, sprawdzonego oddziału.

+0

ok wielkie .. I zrozumiał, że odcinek docs. Dzięki! – noli

+0

Możesz przełączać gałęzie generalnie ze zmodyfikowanymi plikami bez problemu, zauważysz, że pokazuje listę zmodyfikowanych/dodanych/usuniętych plików podczas dokonywania płatności do innego oddziału, przypominając, że drzewo robocze nie jest czyste. Myślę, że w niektórych przypadkach można temu zapobiec. Tutaj przełączasz się na nowy oddział, więc jest bezpieczny. Jeśli to nie zadziała, możesz spróbować ukryć (git stash), a następnie zastosować skrytkę w drugim oddziale, więc przy wymeldowaniu masz czysty katalog. –

+0

@faB nie kasuje mojego działającego reżimu do wersji tej oddziału, którą wymeldowujesz? Jestem trochę zaniepokojony utratą rzeczy za pomocą polecenia checkout, aby móc dokonać zatwierdzenia w innym oddziale – nus

4

można schować swoje bieżące zmiany (git Stash), przejść do nowego oddziału, a następnie zastosować zmiany do nowego oddziału, używając

git stash pop