有没有办法让Git在共享代码存储库中管理我的个人测试脚本?

时间:2012-01-13 18:46:35

标签: git

当我开发代码时,我通常会有一堆“个人”文件,我不想与其他开发人员共享,因为它们是我自己特有的工作流程所特有的。这些文件包括个人Makefile,小测试脚本,测试数据文件等。这不是一个可怕的问题:我只是在.gitignore中逐条列出这些文件,没有其他需要被我的松鼠所困扰。

但是,并非所有人都完全没有共同作用。例如,如果我克隆此存储库,我的个人测试文件不会出现,并且这些文件也没有版本化。即,随着代码的更改,我的测试文件和脚本以及Makefile需要随代码一起更改。如果我恢复到早期版本的代码,我的脚本和测试文件现在就会被破坏。或者,如果我在家工作,并且在工作计算机上从我的Git克隆中取出,则这些个人文件不会被拉到我的家用电脑上。

所以,如果Git将跟踪和共享文件的概念与跟踪和私有文件不同,那么真正敏锐的是。当我推送到共享存储库时,即使Git正在跟踪它们并为我进行版本控制,也不会推送私有文件。当我克隆一个存储库时,我可以选择只获取共享文件,或同时获取共享文件和私有文件。

我愿意冒这样一个猜测:我只是 SOL ,就此功能而言,但是你永远都不知道。 Git似乎只是关于所有,所以也许它有办法做到这一点,而且我刚刚被排除在循环之外。

一种可能的解决方法是为这些东西制作一个子目录(例如,“dougs-personal-crap”)并告诉我的同事不要弄乱它。但我真的不想透露我的脏衣服,特别是如果有更好的方法。

2 个答案:

答案 0 :(得分:2)

我只能想到一个很好的方法来做到这一点。

  1. 将所有员工分为私人和公共
  2. 将公共内容移至XXX存储库
  3. 将私有内容移至YYY存储库
  4. 创建一个大型超级存储库ZZZ
  5. 将XXX和YYY添加到ZZZ存储库作为子模块
  6. 因此,您拥有包含一些公共资源和私有数据,脚本等的存储库。您可以轻松克隆ZZZ存储库。您也可以轻松共享XXX存储库。享受!

答案 1 :(得分:1)

另一种方法是使用mine

它允许您将个人资料保存在git跟踪的目录中,远离git,并且可以备份。