man*_*lds 61
如果我没有弄错的话,你想要的是以交互方式取消爵士乐?我以为git reset -p是这样的.它的提示信息甚至完全像Unstage this hunk?
同样来自手册:
这意味着git reset -p与git add -p相反,即你可以用它来有选择地重置帅哥.请参阅git-add(1)的"交互模式"部分以了解如何操作--patch模式.
我发现这个答案在学习登台时非常有帮助,所以我想我应该修改它以取消登台,因为我还没有在 stackoverflow 上找到“如何 git 取消登台文件的一行或一部分?”的完整答案。问题。
正如 @manojlds 所说,您可以使用git reset --patch <filename>(或-p简称--patch),git 将开始将您的文件分解为它认为合理的“块”(文件的一部分)。
然后 Git 会提示你这个问题的一个变体:
Unstage this hunk [y,n,q,a,d,g,/,j,J,k,K,s,e,?]?
Run Code Online (Sandbox Code Playgroud)
以下是每个选项的说明:
关于e手动编辑的注意事项:使用上面的编辑 ( e) 模式时要格外小心,因为它并不直观。我将包含并修改内联 git 文档:
# To remove '+' lines, make them ' ' lines (context).
# To remove '-' lines, delete them.
# Lines starting with # will be removed.
Run Code Online (Sandbox Code Playgroud)
为清楚起见进行了修改:
+都是当前暂存的要添加的行,现在将取消暂存。为了防止+行被取消暂存(即将它们保留为暂存更改),请+用空格字符替换首字母。-都是当前暂存要删除的行,现在将取消暂存。为了防止-行被取消暂存(即将它们保留为暂存更改),请完全删除每一行。之后,您可以使用:
git diff --staged检查您是否取消暂存/暂存正确的更改git add -p舞台上错误地删除了帅哥git commit -v在编辑提交消息时查看您的提交。未来参考:Git 工具 - 交互式暂存