Git -重命名和分支后丢失文件,为什么?



我在一个空文件夹中初始化一个新的存储库:

git init

现在我复制两个文件A.java和B.java到这个文件夹并提交:

git add A.java B.java && git commit -m "Added A.java and B.java to repo"

接下来我创建一个新的分支:

git branch newBranch

之后,我将b.c java重命名为c.c java(故意不使用mv)并在主分支上提交。对于git来说,它是删除b.c java和创建c.c java:

git add C.java && git commit -m "Renamed B.java to C.java"

继续我想切换到我新创建的分支:

git checkout newBranch

当我看一下我的工作目录现在b.c java将消失,只有a.c java存在。为什么?我在第二次提交之前做了分支。我希望A.java和B.java与我执行branch命令时一样处于原始状态。但显然他们不是,我不明白为什么。为什么B.java消失了?

git status应该确认它,但是当您创建第三次提交时,您只注册了C.java的创建,
您将需要git add B.java从历史记录中记录B.java的删除。

由于您没有这样做,B.java在工作树中仍然被删除。

这意味着,切换到newBranch,保持工作树不变,删除B.java。

您可以使用git restore B.java来恢复它。

最新更新