Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: NetBeans & GIT
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
mindspeo
Witam,

Wiecie może przełączyć się do innego brancha bez commitowania zmian w które mam aktualnie w drzewie??
Czy to jest możliwe?

Sytuacja:
Pracuję nad branchem "b_x1" jakiegoś pluginu. Przygodzi poprawka do kodu na innym branchu "branch_D_x1" (deployowanym online). Chcę się przełączyć do deploya wprowadzic zmiany i wrócić do bieżacej pracy nad pluginem "b_x1".
Czy mogę to osiągnąć bez commitowania zmian w pluginie? Netbeans wywala błąd, albo każe mi usunąc zmiany albo anulować checkouta.



Crozin
Musisz najpierw wykonać commita - inaczej Git nie będzie miał gdzie zapisać zmian wprowadzonych w pliku. Jednakże to nie powinno sprawiać żadnego problemu, ponieważ możesz go obejść przy pomocy git commit --amend.

1. Pracujesz na swojej gałęzi, gdzie masz zmodyfikowane już jakieś pliki.
2. Wykonujesz commita, z jakąś "śmieciową" wiadomością.
3. Przełączasz się na inną gałąź, robisz wszystkie potrzebne zmiany, commitujesz.
4. Powracasz do gałęzi z punktu pierwszego.
5. git commit --amend cofa ostatniego commita, a jego zawartość jest dostępna w working tree.
6. Kończysz swoją pracę po czym wykonujesz już porządnego commita.
mindspeo
Ok dzięki. Tylko używam Gita poprzez interfejs Netbeansa. Korzystasz może z tego IDE?
Można gdzieś dodać opcję --amendA??

Poza tym w takim wypadku jaki opisałeś, będzie trudno zobaczyć diff w kodzie? (jak przy wprowadzaniu zmian).
CHyba zeby przełaczyć na commita przed tym "smieciowym" a pliki zostawic z tego smieciowego. Chodzi o komfort samej edycji, a nie porównywania plików w osobnym oknie.
Crozin
1. Chyba nie da się bezpośrednio wywołać git commit --amend z poziomu NetBeansa, ale: https://netbeans.org/bugzilla/show_bug.cgi?id=215636#c7
2. Po wykonaniu tego, będziesz w dokładnie tym samym momencie, co przed rozpoczęciem jakiejkolwiek pracy z innym branchem.
ano
Cytat(Crozin @ 24.07.2013, 12:13:13 ) *
Musisz najpierw wykonać commita - inaczej Git nie będzie miał gdzie zapisać zmian wprowadzonych w pliku. Jednakże to nie powinno sprawiać żadnego problemu, ponieważ możesz go obejść przy pomocy git commit --amend.

1. Pracujesz na swojej gałęzi, gdzie masz zmodyfikowane już jakieś pliki.
2. Wykonujesz commita, z jakąś "śmieciową" wiadomością.
3. Przełączasz się na inną gałąź, robisz wszystkie potrzebne zmiany, commitujesz.
4. Powracasz do gałęzi z punktu pierwszego.
5. git commit --amend cofa ostatniego commita, a jego zawartość jest dostępna w working tree.
6. Kończysz swoją pracę po czym wykonujesz już porządnego commita.



Ouuu, nie żadnego "smieciowego commita", po to w git jest komenda "stash":
http://git-scm.com/book/en/Git-Tools-Stashing
Crozin
@ano: @mindspeo: Oczywiście git stash jest poprawnym rozwiązaniem, mój błąd. wink.gif Niestety nie mogę już zmodyfikować swojego postu.
kradam
A jak wykonać stash w NB?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.