切换分支会带来前一个分支的已提交文件夹和文件

问题描述 投票:0回答:2

我已经在 GIT 上工作了 3 年,但不记得遇到过这个问题。 我创建了一个新的存储库,其中每个分支都有不同的代码。外部级别的文件夹结构大致相同,但每个分支的一些子文件夹和一些文件会发生变化(这是很常见的情况)。

我有一个空分支,我用它作为基础来创建新的客户分支。我从这里创建了“n”个客户分支。对于第一个客户分支,我将代码从本地复制到第一个分支。承诺并推动变革。现在,当我签出第二个分支(理想情况下应该为空)时,但第一个分支代码仍然是未跟踪的文件。在将新代码复制到每个分支之前,我正在执行 clean -df 。

为什么我会从之前使用的分支到新分支获得已提交更改,作为未跟踪的文件?

Git 版本 - 1.7

git branch git-commit
2个回答
0
投票

一旦提交并推送了第一个分支(

master
),您就定义了存储库中的起点。此后出现的每个分支都将相对于该起点。因此,当您运行
git clean -df
时,您并没有返回到“空”,您只是从跟踪中删除了所有文件。当您粘贴第二个分支文件时,所有内容都显示为未跟踪。

我认为这里最合乎逻辑的做法是使用一个分支来初始化您的新存储库,该分支是所有客户分支的共同祖先。之后,您可以破坏给定客户的所有文件,创建分支,并将其推送到新存储库。


0
投票

提交的文件夹可能有一些文件会添加到您的 .gitignore 中,因此 git 实际上不会跟踪这些文件。这可能是 git 在您切换的分支中显示该内容的原因,因为这些内容未被跟踪并且未添加到当前分支的 gitignore 中。这可能是问题所在,不确定。

© www.soinside.com 2019 - 2024. All rights reserved.