W Stack Overflow jest wiele pytań dotyczących problemu przemieszczania i zatwierdzania tylko części z plików. Jednak nie mogę sprawić, żeby działało.Git: zatwierdza częściowe zmiany
Powiedzmy chcemy wdrożyć obojętne lekcji matematyki w PHP (język nie ma znaczenia) z pewnymi podstawowymi metodami takimi jak: add
, subtract
, multiply
i divide.
Zacznijmy od definicji klasy:
<?php
class Math {
}
?>
Teraz:
$ git add math.php
$ git commit -m "Create Math class."
W następnym kroku realizujemy zarówno add
i subtract
cztery sposoby:
<?php
class Math {
public function add($a, $b) {
return $a + $b;
}
public function subtract($a, $b) {
return $a - $b;
}
}
?>
Ale teraz chcemy popełnić realizację add
i subtract
metody w oddzielnych zobowiązuje.
Czy to możliwe?
Co próbowałem
$ git add -p
Poniższy komunikat:
chciałbym podzielić porcję na mniejsze porcji, więc pędzę s
, a po pojawia się:
Wygląda na to, że git nie podzielił go na mniejsze porcje.
Spróbujmy teraz ręcznie edytować aktualny przystojniak. Więc naciskaję: e
.
Mój tekst domyślny edytor (Sublime Text) otwiera się, a tu mogę edytować przystojniak:
Staram się po prostu usunąć linii 8,9,10,11 - bo chcę etap tylko funkcja add
. zapisać, zamknąć edytor, ale git mówi:
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?
Jestem naprawdę nowego do git add -p
i interaktywnej inscenizacji, więc może coś robię źle, czy po prostu nie jest możliwe, co chcę, i naprawdę mam nadzieję, że bardziej doświadczeni użytkownicy git mają jakieś instrukcje, być może również rozwiązanie dla mnie.
Dziękujemy!
Czy próbujesz nauczyć się tego "git"? Osobiście nie zawracam sobie głowy takimi szczegółami. Po prostu usunę jedną funkcję, zatwierdzę ją, dodam z powrotem i zatwierdzę. – TheBuzzSaw
Tak, właśnie to zrobiłem w moim ostatnim projekcie. Może to jest łatwiejszy sposób. Chciałbym jednak zrobić to w gitarze, a następnie zdecydować, którą wybrać. –
możliwy duplikat [Zatwierdź tylko część pliku w Git] (http://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git) – 7ochem