是否有比我尝试过的更简单的解决方案?
我想和朋友一起开始一个git项目,我已经创建了一个包含所有相关库的模板(因此他们不必手动添加它们)。我现在如何确保他们获得了库,我们都可以修改这些文件而不会被推送,即使它们已被我们每个人更改过了?
我找到了一个应该有效的解决方案: 我提交并推送模板,每个人都克隆了回购。 然后每个人都必须做到以下几点:
创建包含所有库的.gitignore
从仓库中删除这些文件(git rm --cached <all the lib files>
)
将更改添加到暂存区域(git add .
)
拉出遥控器(使用单个模板提交)并再次按下
这应该有效,但是对于更多的群体,它必须以不同的方式完成,所以我想知道是否有更好的方法来解决这个问题? 关于使用git进行分组工作的一般描述也是可取的。
注意:提到的库文件代表我们项目中的各种文件,这些文件将保存在本地存储库中,但不存储在远程存储库中(因此不会推/拉它们)。例如.classpath,.profile,/ bin,...(eclipse java project):这些文件由每个用户在本地更改,但当然不应该被推回!
答案 0 :(得分:2)
通常,共享IDE配置并不是一个好主意,因为通常有一个路径(和/或路径分隔符)适用于一个开发人员,但不适用于其他开发人员。
然后我会排除那些配置。 您是否考虑过使用maven来管理那些文件,而不是复制大量属于库的文件?
说,如果你想实现你所要求的,你应该看看Subtree来管理那些配置和库。 简而言之,您将拥有项目的存储库,以及您不想要的文件夹的子树(例如lib /,。classpath,.profile,/ bin - 您真的想要版本控制箱吗?)。
你的朋友和谁将克隆存储库将获得所有信息(让git)恢复一切。
有关详细信息,请查看Git Subtree manual page。同一页面可用[{3}},以及完整的git手册!
答案 1 :(得分:0)