我有项目文件(包括测试文件),我想在我的本地计算机上使用Git进行版本控制。我想创建一个公共远程存储库(在GitHub上),它只包含我的项目文件的一个子集(我希望我的项目中的一些测试文件从公共远程存储库中省略。)
如何设置远程存储库以便省略某些文件,并且远程存储库或其历史记录中没有这些文件存在的引用?
答案 0 :(得分:1)
试试这个:
初始化你的git存储库:
git init
添加所有公共文件并进行初始提交:
git add public1 public2 ...
git commit -m 'initial commit'
创建一个新的private
分支:
git checkout -b private
添加您不希望公开曝光的测试文件和其他内容:
git add testcase1 testcase2 ...
git commit -m 'added test cases'
现在您拥有一个包含两个分支的存储库。 master
分支仅包含您要公开公开的内容。 private
分支基于主分支,但有一些额外的文件。
添加你的github remote
并推送主分支。
您希望在master
分支上完成大部分工作,并根据需要定期将更改合并到private
分支。
更新:如果您需要经常处理这些文件,这会变得很复杂,因为很难将“私有”文件的更改与公用文件的更改分开。如果所有私有文件都可以限制在特定的子目录中,最简单的方法就是将私有文件放在一个单独的存储库中(并在公共存储库中检出工作副本)。
即使您无法将所有内容限制在同一个子目录中,也可以通过创造性地使用符号链接来寻求类似的解决方案。