przypadków użycia: za każdym razem, gdy chcesz przenieść popełnić z jednej gałęzi git do innego ja wykonać następującą sekwencję działań:Git: przenieść zmiany między gałęziami bez pracy zmiana katalogu
- [zobowiązać do gałęzi roboczej]
git checkout
gałąź do seryjnej-INTOgit cherry-pick
docelowego popełnieniagit push
git checkout
pracującej oddział
To działa dobrze z jedynym wyjątkiem - za każdym razem mogę wykonać 'git checkout' git zawartość katalog roboczy zostanie zmieniony (oczekiwane) i który powoduje moje IDE (IntelliJ IDEA) do wykonać aktualizację stanu wewnętrznego (ponieważ podrzędne drzewo systemu monitorowania jest modyfikowane zewnętrznie). To naprawdę denerwuje, szczególnie w przypadku dużej liczby małych commitów.
widzę dwie drogi:
- wykonują „masa wiśnia wybiera”, czyli wykonać dużą liczbę zatwierdzeń; przenieś je do innego oddziału, powiedzmy, w dniu roboczym;
- mają drugie lokalne repozytorium git i wykonują na nim wyselekcjonowane komórki wiśniowe, tj. Za każdym razem, gdy faktycznie wykonuje się zatwierdzanie i wypychanie do działającej gałęzi, przechodzimy do tego drugiego repozytorium, przeciągamy zmiany i wykonujemy tam wybieranie wiśni;
Nie podoba mi się pierwsze podejście, ponieważ można zapomnieć o przeniesieniu konkretnego zatwierdzenia. Drugi wygląda trochę ... nienaturalnie.
Zasadniczo byłoby idealnie, gdybym mógł powiedzieć "git" przenieść to zatwierdzenie z oddziału o nazwie branchX do oddziału branchX + 1 'bez aktualizacji katalogu roboczego.
Pytanie: czy można wykonać powyższe czynności?
Opcja 3: Poinstruuj swojego redaktora, aby przestał wchodzić ci w drogę. – rafl
Jak chcesz pracować z edytorem, który nie odzwierciedla zewnętrznych zmian plików? –
powinieneś zmienić tytuł na swoje aktualne pytanie – cmcginty