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