在Git world中切换到master分支时,"检出文件"的状态是什么?

Dol*_*ava 7 git version-control github git-branch

我正在使用git bash.我从一个全新的公共存储库创建了一个全新的本地git存储库(意味着它只有.gitIgnore文件.没有代码)我从我的本地主存储库分支到新的存储库'FromClearcase'使用:

git branch FromClearcase
git checkout FromClearcase
Run Code Online (Sandbox Code Playgroud)

我将49个代码文件粘贴到我的本地git存储库中.

以下显示所有这49个文件未跟踪.

git status 
Run Code Online (Sandbox Code Playgroud)

接下来我做以下事情:

git add --all
git commit -m "Migrating from CC"
Run Code Online (Sandbox Code Playgroud)

当它执行以下git状态时,我收到以下消息"On Branch FromClearcase nothing to commint,working directory clean"

接下来是我有惊喜观察的地方.我想切换回本地主分支来执行合并.

git checkout master
Run Code Online (Sandbox Code Playgroud)

我得到以下消息: 签出文件:100%(49/49),完成. 切换到分支'master'你的分支是'origin/master'的最新版本

我无法理解第一行的信息.当我试图切换时,为什么49/49 stat会出现?'git checkout master'不得触发签出属于不同分支的代码.发生了什么事?

las*_*lok 2

你的 git 客户端只是告诉你它执行了 49 个文件操作来检查你要求的树。它没有告诉您的是,在这种情况下,所有 49 个操作都是删除(它删除了您在其他分支中提交的 49 个文件)。之所以会出现这种混乱,是因为大多数人将“签出文件”视为专门指创建/复制操作。