gitignore - 在结账时隐藏被忽略的文件

fre*_*uiz 5 git gitignore git-checkout git-branch

这是我的问题(通过示例步骤):

  • 我有一个Git repo有两个不同的分支(branchA和branchB),它们目前是相同的.
  • 结帐到branchB并创建一个新文件"foo.txt".
  • 将该文件添加到该分支的".gitignore",以便在branchB中成功忽略它.
  • 创建另一个文件"hello.txt",暂存并提交它.
  • 结账到branchA.
  • foo.txt出现在branchA中,但hello.txt没有出现.

为什么foo.txt出现在branchA中而不像hello.txt那样被"隐藏"?

从我的角度来看,这是一个很大的烦恼,看起来像一个bug /功能请求,但Git是否被设计成以这种方式行事?我很惊讶地发现没有其他人抱怨这个.

aal*_*cia 0

快速回答:

\n\n
    \n
  • hello.txt 不是“隐藏”的,它已提交到branchB,因此在将branchB合并或rebase到branchA之前,您不会在branchA中看到
  • \n
  • .gitignore 也会发生同样的情况。如果您将 .gitignore 提交给了branchB(我猜您确实这样做了),然后签出branchA,那么,branchA 没有 .gitignore 文件,这就是为什么您看到 foo.txt 的原因。同样,您需要将branchB合并或rebase到branchA
  • \n
\n