git status
在以交互方式为重命名的文件添加补丁后,我在输出中意外出现“dev/null” 。我想知道这是否是预期的,并且这种行为是否有充分的理由,或者这可能是一个错误。
以下是如何重现此内容的简单说明。在我的现实世界场景中,它有点复杂,我使用 是有充分理由的git add -p
,但我能够将其归结为这个最小的例子:
$ git初始化测试 在 /local_disk/tmp/test/.git/ 中初始化空 Git 存储库 $ cd 测试 $ echo "foo" > foo $ git 添加 foo $ git commit -m '添加 foo' [master (root-commit) 3643b5d] 添加 foo 1 个文件已更改,1 个插入(+),0 个删除(-) 创建模式 100644 foo $ mv 富吧 $ git添加-p 差异 --git a/foo b/foo 索引 257cc56..0000000 --- a/foo +++ /dev/null @@ -1 +0,0 @@ -foo 上演这个大块 [y,n,q,a,d,/,e,?]?是的 $ 混帐状态 # 在分支master上 # 要提交的更改: # (使用“git reset HEAD ...”取消暂存) # # 新文件:dev/null # 删除:foo # # 已更改但未更新: # (使用 "git add/rm ..." 更新将要提交的内容) # (使用 "git checkout -- ..." 丢弃工作目录中的更改) # # 删除:dev/null # # 未跟踪的文件: # (使用“git add ...”来包含将要提交的内容) # # 酒吧
“新文件:dev/null”和“已删除文件:dev/null”是什么?我希望这会产生与我所做的完全相同的事情:
$ mv 富吧 $ git rm foo $ 混帐状态 # 在分支master上 # 要提交的更改: # (使用“git reset HEAD ...”取消暂存) # # 删除:foo # # 未跟踪的文件: # (使用“git add ...”来包含将要提交的内容) # # 酒吧
我正在使用 Git 版本 1.6.5.5,并且还在 1.6.5.4 中复制了它。我无法在具有版本 1.6.1.2 的 Git 的 Cygwin 环境中重现它。