Interactive staging (the new version of git):
git add -i | -interactive // enter the interactive staging editing interface
git add -p | --patch // local content file operations (temporarily did not understand)
交互式暂存(新版git):
git add -i | -interactive // 进入交互式暂存编辑界面
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now>
将暂存的修改列在左侧,未暂存的修改列在右侧。
命令区域。 在这里你可以做一些工作,包括暂存文件、取消暂存文件、暂存文件的一部分、添加未被追踪的文件、查看暂存内容的区别。
暂存与取消暂存文件:
1.在 What now> 提示符后键入 2 或 u,脚本将会提示想要暂存哪个文件:
What now> 2
staged unstaged path
1: unchanged +0/-1 TODO
2: unchanged +1/-1 index.html
3: unchanged +5/-1 lib/simplegit.rb
Update>>1,2
注意:
表示暂存1,2两个文件
不输入任何东西并直接按回车,Git 将会暂存之前选择的文件:
取消暂存某个文件:
取消暂存 TODO 文件,使用 3 或 r(撤消)选项:
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 3
staged unstaged path
1: +0/-1 nothing TODO
2: +1/-1 nothing index.html
3: unchanged +5/-1 lib/simplegit.rb
Revert>> 1
staged unstaged path
* 1: +0/-1 nothing TODO
2: +1/-1 nothing index.html
3: unchanged +5/-1 lib/simplegit.rb
Revert>> [enter]
reverted one path
*** Commands ***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
What now> 1
staged unstaged path
1: unchanged +0/-1 TODO
2: +1/-1 nothing index.html
3: unchanged +5/-1 lib/simplegit.rb
我们发现TODO文件被取消暂存了;
想要查看已暂存内容的区别,可以使用 6 或 d(区别)命令
暂存文件中的一部分:
如果在 simplegit.rb 文件中做了两处修改,但只想要暂存其中的一个而不是另一个,Git 会帮你轻松地完成。
通常情况下可以输入 y 或 n 来选择是否要暂存每一个区块,当然,暂存特定文件中的所有部分或为之后的选择跳过一个区块也是非常有用的。 如果你只暂存文件的一部分,状态输出可能会像下面这样:
(这里说明下,部分暂存,个人尚未实验成功,后续添加亲身体验的反馈!!!)