当我运行时git-mv file1 file2
,我将文件从 移至 ,file1
正如file2
我所期望的那样。但有时,我的git status
输出会“奇怪”。
当我跑步时git-mv f1 f2
,然后git status
:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: f1 -> f2
Run Code Online (Sandbox Code Playgroud)
这正是我所期望的。但其他时候,在我承诺之后f2
,我会得到:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: f1
Run Code Online (Sandbox Code Playgroud)
这通常发生在我提交新文件之后。我不知道为什么会发生 - 它似乎是随机发生的(因为通常我会收到renamed: f1->f2
消息,就像我期待的那样)。
我想知道为什么有时会收到消息说我在运行后删除了该文件git mv
,以及我已经执行了哪些步骤来生成此文件 - 我刚刚尝试重现,并得到了renamed:..
;但 10 分钟前,我收到了一份我在 10 分钟前编辑的deleted:...
文件。这让我很困惑。git-mv
听起来你重命名f1
为f2
,但只承诺添加f2
而不是删除f1
。如果您使用git mv f1 f2
然后键入,则可能会发生这种情况,或者如果您键入然后执行类似的操作,git commit f2
则可能会发生这种情况mv f1 f2
git add .; git commit