我有一个回购test-repo
,它包含两个分支master
和dev
.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_modules
repo根目录,我不希望它显示在远程仓库上,所以我将该目录放在.gitignore
文件中.所以在我的dev
分支(本地)这个目录仍然显示,如果我想为dev
分支中的文件单独的Grunt任务怎么办?这意味着我需要node_modules
在该分支中使用另一个目录,这是无法完成的,因为master
分支中的目录总是在本地目录中,无论如何.你现在看到我的问题了吗?
使用你提供的关于gh-pages的附加上下文(我觉得我对主图和dev分支进入图片有点困惑):
gh-pages分支本质上是一个单独的repo,用于不同的目的(通常是文档).
我通常做的是不通过代码分支和gh-pages分支检查.我只是克隆了两次repo,有一个用于正常开发,另一个用于gh-pages的东西.保持简单,这两个被视为两个回购,因为他们应该.