Stack Overflow存在多個問題,解決了從文件中暫存和僅提交部分的問題。但是,我無法讓它工作。Git:提交部分更改
比方說,我們要實現一個虛擬的數學課在PHP(語言無所謂)與像一些基本的方法:add
,subtract
,multiply
和divide.
讓我們從類定義開始:
<?php
class Math {
}
?>
現在:
$ git add math.php
$ git commit -m "Create Math class."
在下一步中,我們同時實現add
和subtract
四種方法:
<?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
功能。 我保存,關閉編輯器,但混帳說:
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?
我真正的新git add -p
和互動升級,所以也許這件事情我做錯了,或者根本就不可能我想要什麼,真的希望一些更有經驗的git用戶有一些說明也許對我來說也是一個解決方案。
謝謝!
您是否在嘗試學習這種做法的「git方式」?就我個人而言,我不打擾這些細節。我只是刪除一個函數,提交它,將其添加回來,並提交。 – TheBuzzSaw 2013-04-21 18:26:17
是的,這正是我在上一個項目中所做的。也許這是更簡單的方法。不過,我很想用git來做,然後決定選擇哪種方式。 – 2013-04-21 18:27:34
[只提交Git中文件的一部分]的可能的重複(http://stackoverflow.com/questions/1085162/commit-only-part-of-a-file-in-git) – 7ochem 2015-04-03 08:31:21