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

xjreopfe  于 2023-09-29  发布在  Git
关注(0)|答案(2)|浏览(306)

我已经在GIT上工作了3年,但不记得遇到过这个问题。我已经创建了一个新的仓库,其中每个分支都有不同的代码。文件夹结构在外层大致相同,但每个分支的一些子文件夹和一些文件会发生变化(这是很常见的情况)。
我有一个空的分支,我用它作为基础来创建新的客户分支。我在这里创建了n个客户分支。对于第一个客户分支,我将代码从本地复制到第一个分支。承诺并推动变革。现在,当我 checkout 第二个分支时(理想情况下应该是空的),但第一个分支代码仍然是未跟踪的文件。在将新代码复制到每个分支之前,我正在执行clean-df。
为什么我把以前使用过的分支中提交的更改作为未跟踪的文件获取到我的新分支中?
Git版本- 1.7

k0pti3hp

k0pti3hp1#

提交并推送第一个分支master后,您就在存储库中定义了起始点。在此之后的每个分支都将相对于此起点。因此,当您运行git clean -df时,您并没有返回到“空”,您只是删除了所有被跟踪的文件。当你粘贴第二个分支文件时,所有的东西都显示为未被跟踪。
我认为这里最合乎逻辑的做法是用一个分支初始化新的存储库,该分支是所有客户分支的共同祖先。在此之后,您可以清除给定客户的所有文件,创建一个分支,并将其推送到新的存储库。

wn9m85ua

wn9m85ua2#

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

相关问题