2013-02-08 11 views
9

Czy istnieje skuteczne przeciwieństwo git-pick-pick? Na przykład jakiś czas temu musiałem wprowadzić tymczasowe zmiany, aby wyłączyć zestaw funkcji, ponieważ proces biznesowy nie jest gotowy. Teraz, gdy ten proces biznesowy jest gotowy, chciałbym po prostu usunąć zatwierdzenia i ich efekty. Chociaż oczywiście mogłem po prostu przyjrzeć się różnicom w tych zobowiązaniach i dowiedzieć się, co należy zrobić, byłoby ciekawie wiedzieć, czy te powroty w historii mogą być nieskonczone bez resetowania i utraty wszystkiego, co nadejdzie po im.Naprzeciwko git-pick-pick?

+1

prawdopodobnie masz na myśli 'git revert'? –

Odpowiedz

12

Zautomatyzowany sposób cofnięcia zmian wprowadzonych przez inne zatwierdzenie to git revert.

+0

To powinienem był zauważyć. – andyortlieb

+1

To NIE jest odwrotne użycie 'git rebase -i' zamiast tego, jak @ Kyralessa wyjaśnia – Leo

15

git revert nie jest przeciwieństwem git cherry-pick. git rebase -i jest.

git revert dodaje nowy commit, który usuwa zmiany wprowadzone przez jedno lub więcej starych zatwierdzeń. Nie usuwa oryginalnych zatwierdzeń.

git rebase -i pokaże listę zatwierdzeń z bieżącego zatwierdzenia, wracając do ostatniego zatwierdzenia, nie znajdującego się w gałęzi źródłowej. Następnie możesz edytować, zmieniać kolejność, zmieniać komunikat zatwierdzania, a nawet usuwać zatwierdzenia z tej listy.

Pamiętaj, że jeśli już przesyłasz zatwierdzenia, które chcesz usunąć, musisz je usunąć wraz z członkami zespołu, ponieważ będą musieli wprowadzić poprawki po usunięciu nowej historii z usuniętymi popełnia.

+1

To świetnie wiedzieć! Podczas rebase -i technicznie odpowiada na pytanie i może być czystsze w dłuższej perspektywie, git revert spełnia problem, który wyraziłem. – andyortlieb

+1

"' git revert' dodaje nowy commit, który usuwa zmiany wprowadzone przez jedno lub więcej starych zatwierdzeń. " Brzmi to dokładnie tak, jak przeciwieństwo 'git cherry-pick'. Być może "odwrotność" byłoby lepszym słowem niż "przeciwny". –

+1

Jeśli 'git cherry-pick' doda zatwierdzenie, wówczas przeciwne byłoby usunięcie tego zatwierdzenia. Nie dodawać _annych_ zatwierdzeń. –

Powiązane problemy