2012-10-09 11 views
5

Kiedy dodać plik do inscenizacji, mogęZastosuj kawałek popełnienia przez klocek

$ git add my_file -p 

i wybrać kawałki chcę scenie.

Czy istnieje sposób scalania/wybrania fragmentu zatwierdzenia i zastosowania jego porcji diff przez porcję?

Dzięki

+0

również rzucić okiem na vim zbiegłego. Jest to interaktywne zaznaczenie skał hunkowych – sehe

+0

Prawdopodobnie powiązane: https://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git –

Odpowiedz

11

nie jestem świadomy bezpośredni sposób to zrobić, ale tutaj jest sposób pośredni.

git cherry-pick -n <commit>

Cherry pick commit ale powiedz git go nie (-n) popełnić. Zmiany powinny być teraz w kopii roboczej, dzięki czemu można zrobić

git checkout -p

To będzie iteracyjne nad każdym kawałkiem i zapytać, czy chcesz go wyrzucić, powiedzmy tak do żadnej kawałkami ty chcesz i nie nie do kawałków, które chcesz zachować.

+0

To zdecydowanie rozwiązanie. Twoje zdrowie! – ms123

+0

Troszeczkę precyzji: Po git-pick -n-, musimy do git zresetować-p (i wziąć to, co chcemy od inscenizacji) – ms123