我在git存储库中放了我不应该放的东西';我没有
我是git的新用户,实际上是内容跟踪/源代码控制的新用户。大约6个月前我开始使用git,现在我真的开始喜欢它了 愚蠢的是,我一直在跟踪我的完整项目,包括包含每个项目所需库的lib目录。其中一些是我无法分发的库。我确实打算与同事分享我的git回购协议,我的一些项目在某个时候可能会成为自由和开放源码软件。能够分享我的git回购协议对我来说很重要 怎样才能在不失去我的历史的情况下走出这场混乱 另外,这很烦人,因为正如您所知,某些版本的软件需要特定版本的库,否则它们将无法编译。如果我不能将库放在git存储库中,这意味着我可能不得不进行手动修补,以使我的程序的特定提交版本再次工作。换句话说,这是一个巨大的麻烦 我对使用git有什么误解吗?这似乎是一个巨大的问题我在git存储库中放了我不应该放的东西';我没有,git,version-control,Git,Version Control,我是git的新用户,实际上是内容跟踪/源代码控制的新用户。大约6个月前我开始使用git,现在我真的开始喜欢它了 愚蠢的是,我一直在跟踪我的完整项目,包括包含每个项目所需库的lib目录。其中一些是我无法分发的库。我确实打算与同事分享我的git回购协议,我的一些项目在某个时候可能会成为自由和开放源码软件。能够分享我的git回购协议对我来说很重要 怎样才能在不失去我的历史的情况下走出这场混乱 另外,这很烦人,因为正如您所知,某些版本的软件需要特定版本的库,否则它们将无法编译。如果我不能将库放在git存
编辑:我很容易想象大型项目被非免费材料的提交所污染的场景。我可以想象这个问题很长一段时间都没有被发现,所以这似乎是分布式内容跟踪的一个致命弱点。我还认为,每次你想调查一些小的变化时,必须手动查找和使用几十个库是完全不可行的。因此,这使得git实际上只能用于完全免费的项目。我错了吗?首先,依赖项跟踪。如果这些库是开源的,那么将它们作为子模块包含可以帮助它们保持更新。然而,因为这听起来不是你需要的。如果它们可以很容易地获得,免费但不开放,我在过去使用Maven取得了相当好的成功。不过,我发现它在Windows中并不是特别好用 对于git问题,请尝试以下方法:
要非常小心,否则可能会严重破坏存储库。这也不会完全删除对库的引用,因为第一次提交仍然会有对它的引用。有些人可能有另一种使用补丁功能的方法,可能更好 FWIW当您的程序需要特定版本的库时,通常您在自述文件或其他文件中给出这些版本规范,但让其他人自己实际获取库。您不需要分发运行程序所需的所有内容。您可以使用来编辑历史记录,但要小心,因为这是一个复杂的命令。