Stack Overflow 上存在多个问题,解决了仅从文件中暂存和提交部分的问题。但是,我无法让它工作。
假设我们想在 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;
}
}
?>
但是现在我们要在单独的提交中提交theadd
和方法的实现。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
交互式舞台的新手,所以也许这是我做错了,或者根本不可能是我想要的,真的希望一些更有经验的 git 用户有一些说明,也许对我来说也是一个解决方案。
谢谢!