草庐IT

git - 修复由于二进制文件大而变慢的 git repo

我们有一个包含源代码和二进制文件的git存储库。裸仓库现在已经达到~9GB,克隆它需要很长时间。大部分时间花在“远程:压缩对象”上。在使用较大二进制文件之一的新版本提交后,提取需要很长时间,还需要在服务器上压缩对象。看完gitpullwithoutremotelycompressingobjects我怀疑二进制文件的增量压缩也会对我们造成伤害,但我不是100%确定如何解决这个问题。在服务器上修复裸仓库的具体步骤是什么?我的猜测:为我想要的所有扩展添加像'*.zip-delta'这样的条目到.git/info/attributes运行“gitrepack”,但有哪些选项?-adF会重新打

eclipse - 在Eclipse中使用EGit推送到远程Git repo时,我应该选择什么?

什么是HEADmaster[branch]?我应该分别为“Sourceref”和“Destinationref”选择什么? 最佳答案 您在EgitPushURIdocumentation中看到此屏幕:那是你定义refspecs的地方:A"refspec"isusedbyfetchandpushoperationstodescribethemappingbetweenremoteRefandlocalRef.Semanticallytheydefinehowlocalbranchesortagsaremappedtobrancheso

git - 克隆一个 git repo,它已经有一个脏的工作目录......哇啊啊啊?

所以,我对发生的事情感到困惑。我从来没有黑过linux内核,所以这可能是司空见惯的事。如果是这样,请原谅新问题。$gitclonehttps://github.com/torvalds/linux.git然后,$gitstatus.#Onbranchmaster#Changesnotstagedforcommit:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)##modified:include/linux/netfilter/x

git - 如何回滚 Git repo 到第一次提交并删除所有历史记录

这些天我正在学习如何使用git,我不得不做很多碰碰运气的事情。因此,我需要删除并重新创建我的远程和本地存储库。有没有办法回滚到repo的第一次提交并删除之后的所有历史记录?基本上是一个干净的实验平台。 最佳答案 我不知道有什么方法可以完全按照您的要求进行操作(可以回滚到第一次提交,但不能删除所有历史记录,因为历史记录至少包含初始的提交。)如果我是你,我会删除远程仓库和.git本地repo的目录,然后从gitinit开始.我能得到的最接近您要求的是回滚除第一个提交之外的所有内容。为此,您首先要找到第一次提交的SHA1,例如:%gitr

git - 我可以将另一个人的 repo 两次 fork 到我自己的帐户中吗?

在GitHub上,我似乎无法弄清楚如何将一个存储库fork到一个帐户中。所以有一个来自Bob/CoolFramework的repo我将它fork给Jeremy/MyShooter并开始构建游戏现在我也想将它fork给Jeremy/MyRPG来构建另一个新游戏当我第二次尝试forkCoolFramework时,它只会将我带到MyShooter。所以我能想到的方案:A)我没有以正确的方式使用GitB)在Git上不可能C)我只是在Github上看不到这个选项 最佳答案 在您的情况下,我建议使用submodules.但是,要回答您的确切问题

git - 您如何查看哪个提交从 repo 协议(protocol)中删除了文件?

这个问题在这里已经有了答案:FindwhenafilewasdeletedinGit(10个答案)关闭6年前。因为它不再在存储库中,所以我不能这样做gitlog我能跑gitlog--diff-filter='D|R'但是信息太多了,grepping它似乎没有列出我正在寻找的文件。

eclipse - "Invalid project description", 从git repo导入问题

将我的GIT存储库从PC计算机复制到我的MAC后,我似乎无法将其导入eclipse。通过eGit插件直接从现有的本地git存储库导入。完全相同的导入在现有Windows计算机上运行良好。请指教。org.eclipse.core.internal.resources.ResourceException:Invalidprojectdescription.atorg.eclipse.core.internal.resources.Project.checkDescription(Project.java:162)atorg.eclipse.core.internal.resources.P

来自 Hg repo 的 git 子模块?

我有一个非常古老的项目,它直接包含另一个项目的源代码,而不是将其作为库链接。在糟糕的日子里,当我将所有内容保存在CVS中时,我将外部代码放在供应商分支上并定期导入。现在我的项目在git中,将外部项目作为子模块包含在内会更有意义。但是,有一个问题:外部项目已经迁移到Mercurial。我找到了git-hg和hg-git项目,但我不确定这两个项目是否能正确处理子模块。有没有办法创建一个指向Hg存储库而不是git存储库的git子模块? 最佳答案 自hg-git确实提到尚不支持子模块,只留下一个手动选项:在您可以推送访问的地方设置一个Git

git - 我如何 "git clone"一个 repo,包括它的子模块?

我如何克隆一个git存储库以便它也克隆它的子模块?运行gitclone$REPO_URL只会创建空的子模块目录。 最佳答案 在Git2.13及更高版本中,可以使用--recurse-submodules代替--recursive:gitclone--recurse-submodules-j8git://github.com/foo/bar.gitcdbar编者注:-j8是一个可选的性能优化,在2.8版中可用,一次可以并行获取多达8个子模块—请参阅mangit-clone.Git1.9到2.12版(-j标志仅在2.8+版中可用):gi

git - 将本地 svn repo 转储转换为 git

我搜索了相关问题,但找不到与我的具体情况相符的任何内容:我有一些旧的存储库存档,来自多年前被关闭的SVN服务器。它们是服务器上原始存储库结构的压缩包。我想做的是将它们转换为git存储库,作为future工作/恢复项目的基础。我已经阅读了几个关于转换过程的教程,我想我可以弄清楚作者的转换、分支映射等,但他们都假设你有一个SVN服务器和一个存储库的url。我是否需要安装和设置SVN服务器来执行此转换,或者有什么方法可以在repo中指向gitclone或svn2git(或其他工具)我有转储吗? 最佳答案 在本地安装subversion以导