ファイルの一部のみをステージングおよびコミットする問題に対処する Stack Overflow に関する複数の質問があります。しかし、私はそれを機能させることはできません。
add、subtract、multiplyおよび_divide.
クラス定義から始めましょう。
<?php
class Math {
}
?>
今:
$ git add math.php
$ git commit -m "Create Math class."
次のステップでは、addとsubtract4 つのメソッドの両方を実装します。
<?php
class Math {
public function add($a, $b) {
return $a + $b;
}
public function subtract($a, $b) {
return $a - $b;
}
}
?>
addしかし今は、とsubtractメソッドの実装を別々のコミットでコミットしたいと考えています。
これは可能ですか?
私が試したこと
$ git add -p
以下が表示されます。

ハンクを小さなハンクに分割したいので、 を押すsと、次のように表示されます。

git はそれを小さな塊に分割しなかったようです。
現在のハンクを手動で編集してみましょう。だから私は押します:e。
デフォルトのテキスト エディター (サブライム テキスト) が開き、ここでハンクを編集できます。

関数のみをステージングしたいので、8、9、10、11行目を単純に削除しようとしましたadd。保存してエディターを閉じますが、git は次のように言います。
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?
私はgit add -pインタラクティブなステージングに本当に慣れていないので、おそらくそれは私が間違っているか、単に私が望んでいることは不可能です.
ありがとうございました!