我有一个用git repack -a -d打包的git存储库,它将所有对象重新打包到一个大文件中。这节省了空间。然而,我想要撤销这一点,并将一个大的包文件转换为所有的小目标文件。
我想这样做的原因是要将git存储库备份到远程服务器。我做了一个备份(在重新打包之前)。在远程服务器上安装git并不容易,所以我打算使用rsync来复制文件。然而,rsync并没有这么聪明,它基本上想要再次复制东西。如果我可以“解压”这个存储库,可能会让复制速度更快。
一位同事从他的手袋里给我发了个补丁。因为它不是克隆,他的index条目包含了我的回购中不知道的散列。示例:
index 20589f5..bbdd152 100644
20589f5存在于他的回购中,而不在我的。
当我尝试使用TortoiseMerge应用修补程序时,我得到消息
fatal: not a valid object name
我怎么能骗TortoiseMerge接受补丁呢?
编辑:它不必是TortioseMerge。任何其他工具,让我应用我的修补程序(并且运行在Windows上,最好是免费的)也是好的。
我开始在我正在开发的项目中构建一系列插件和引擎,如果我想要rake工作的话,我遇到了不得不列出主应用程序的所有Gemfile和插件/引擎中的依赖项的路径的问题。
Rake对于主应用程序很好,因为它是Gemfile,列出了与我想要的插件/引擎的相对路径,但是当一个插件/引擎依赖于另一个插件/引擎,并且没有所有列出的相对路径时,使用rake rdoc,我将得到一个错误,如下所示(我可能会得到相同的错误,试图运行测试/虚拟应用程序/等等):
Bundler could not find compatible versions for gem "user":
In Gemfile: