我有项目文件(包括测试文件),我希望在本地计算机上使用 Git 进行版本控制。我想创建一个公共远程存储库(在 GitHub 上),它只包含我的项目文件的一个子集(我希望我的项目中的一些测试文件从公共远程存储库中省略。)
如何设置远程存储库,以便省略某些文件,并且在远程存储库或其历史记录中没有引用这些文件曾经存在过?
尝试这个:
初始化您的 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
分支基于 master 分支,但有一些附加文件。
添加你的 githubremote
并推送 master 分支。
您将希望在分支上完成大部分工作,并根据需要master
定期将更改合并到private
分支中。
更新:如果您需要经常处理文件,这会变得复杂,因为很难将“私人”文件的更改与公共文件的更改分开。如果您的所有私有文件都可以限制在一个特定的子目录中,那么最简单的做法就是将您的私有文件放在一个单独的存储库中(并在公共存储库中签出工作副本)。
即使您不能将所有内容都限制在同一个子目录中,您也可以通过创造性地使用符号链接来寻求类似的解决方案。