Git,忽略的文件出现在每个分支中

Tom*_*Tom 3 git github

我有一个回购test-repo,它包含两个分支masterdev.master分支.gitignore文件中的任何文件/目录都出现在两个分支中本地git checkout,我认为这是正常的行为,因为Git没有跟踪这些文件,所以它们只是在test-repo目录中,无论如何.我不希望这种情况发生.我理想的设置如下:

当我git checkout master本地文件/目录结构应如此:

test-repo/
  .gitignore (this file just contains `should-be-ignored.md`)
  should-be-ignored.md
  should-only-show-in-master.md
Run Code Online (Sandbox Code Playgroud)

当我git checkout dev本地文件/目录结构应如此:

test-repo/
  should-only-show-in-dev.md
Run Code Online (Sandbox Code Playgroud)

如果有人知道如何实现这个设置我真的很感激.

真实世界版本:我正在使用GitHub,当你添加gh-pages它的一个分支时,它本质上充当了免费的静态web托管.我有一个包含我的前端Web构建样板的repo,该master分支包含所有代码,gh-pages分支将包含代码所做的一些示例等.当我在本地工作样板时,我运行Grunt(一个任务运行器) )正确运行需要npm install安装任何依赖项的命令,这会创建一个node_modulesrepo根目录,我不希望它显示在远程仓库上,所以我将该目录放在.gitignore文件中.所以在我的dev分支(本地)这个目录仍然显示,如果我想为dev分支中的文件单独的Grunt任务怎么办?这意味着我需要node_modules在该分支中使用另一个目录,这是无法完成的,因为master分支中的目录总是在本地目录中,无论如何.你现在看到我的问题了吗?

man*_*lds 5

使用你提供的关于gh-pages的附加上下文(我觉得我对主图和dev分支进入图片有点困惑):

gh-pages分支本质上是一个单独的repo,用于不同的目的(通常是文档).

我通常做的是不通过代码分支和gh-pages分支检查.我只是克隆了两次repo,有一个用于正常开发,另一个用于gh-pages的东西.保持简单,这两个被视为两个回购,因为他们应该.