2

我有项目文件(包括测试文件),我希望在本地计算机上使用 Git 进行版本控制。我想创建一个公共远程存储库(在 GitHub 上),它只包含我的项目文件的一个子集(我希望我的项目中的一些测试文件从公共远程存储库中省略。)

如何设置远程存储库,以便省略某些文件,并且在远程存储库或其历史记录中没有引用这些文件曾经存在过?

4

1 回答 1

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分支基于 master 分支,但有一些附加文件。

添加你的 githubremote并推送 master 分支。

您将希望在分支上完成大部分工作,并根据需要master定期将更改合并到private分支中。

更新:如果您需要经常处理文件,这会变得复杂,因为很难将“私人”文件的更改与公共文件的更改分开。如果您的所有私有文件都可以限制在一个特定的子目录中,那么最简单的做法就是将您的私有文件放在一个单独的存储库中(并在公共存储库中签出工作副本)。

即使您不能将所有内容都限制在同一个子目录中,您也可以通过创造性地使用符号链接来寻求类似的解决方案。

于 2012-05-19T23:50:46.887 回答