草庐IT

Talking-Head

全部标签

git - 在 git repo 中查找超过 x 兆字节的文件,这些文件在 HEAD 中不存在

我有一个Git存储库,我在其中存储随机的东西。主要是随机脚本、文本文件、我设计的网站等等。随着时间的推移,我删除了一些大型二进制文件(通常为1-5MB),这些文件会增加存储库的大小,而我在修订历史记录中不需要这些文件。基本上我希望能够做到..me@host:~$[magiccommandorscript]aad29819a908cc1c05c3b1102862746ba29bafc0:example/blah.psd:3.8MB:130daysold6e73ca29c379b71b4ff8c6b6a5df9c7f0f1f5627:another/big.file:1.12MB:214d

git - 在执行 git reset --hard HEAD^ 后恢复添加/暂存文件?

我添加了一个新文件F1并更改了另一个文件F2但随后执行了gitreset--hardHEAD^并且我丢失了对文件。有什么方法可以让他们回来吗?我确实在这里看过一个相关的问题:HowcanIundogitreset--hardHEAD~1?但是,该问题假定该人已经完成了Git提交。 最佳答案 您可以(通过一些工作)在最后一个“gitadd”恢复文件状态。你可以使用$gitfsck--cache--no-reflogs--lost-found--danglingHEAD然后检查“.git/lost-found/other”目录中的文件。

git - 在执行 git reset --hard HEAD^ 后恢复添加/暂存文件?

我添加了一个新文件F1并更改了另一个文件F2但随后执行了gitreset--hardHEAD^并且我丢失了对文件。有什么方法可以让他们回来吗?我确实在这里看过一个相关的问题:HowcanIundogitreset--hardHEAD~1?但是,该问题假定该人已经完成了Git提交。 最佳答案 您可以(通过一些工作)在最后一个“gitadd”恢复文件状态。你可以使用$gitfsck--cache--no-reflogs--lost-found--danglingHEAD然后检查“.git/lost-found/other”目录中的文件。

git - 无法从 HEAD 历史记录中确定上游 SVN 信息

为什么我会收到此错误消息? 最佳答案 我收到此消息是因为使用--no-metadata选项克隆了svn存储库。也许你的问题也是如此。在没有该选项的情况下克隆它时一切正常。--no-metadata选项用于在将来新的git克隆成为规范源时克隆SVN存储库。它缺乏提交回SVN上游的能力,因为它无法跟踪git克隆和SVN上游之间的差异。 关于git-无法从HEAD历史记录中确定上游SVN信息,我们在StackOverflow上找到一个类似的问题: https://s

git - 无法从 HEAD 历史记录中确定上游 SVN 信息

为什么我会收到此错误消息? 最佳答案 我收到此消息是因为使用--no-metadata选项克隆了svn存储库。也许你的问题也是如此。在没有该选项的情况下克隆它时一切正常。--no-metadata选项用于在将来新的git克隆成为规范源时克隆SVN存储库。它缺乏提交回SVN上游的能力,因为它无法跟踪git克隆和SVN上游之间的差异。 关于git-无法从HEAD历史记录中确定上游SVN信息,我们在StackOverflow上找到一个类似的问题: https://s

Git 恢复最后分离的 HEAD

我的项目有个大问题:场景是这样的。我在Git下有一个xcode项目。今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交。我使用了SourceTree,这是警告Doingsowillmakeyourworkingcopya'detachedHEAD',whichmeansyouwon'tbeonabranchanymore.Ifyouwanttocommitafterthisyou'llprobablywanttoeithercheckoutabranchagain,orcreateanewbranch.Isthisok?我工作了一整天,最后我全力以赴。所以我需要merge我

Git 恢复最后分离的 HEAD

我的项目有个大问题:场景是这样的。我在Git下有一个xcode项目。今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交。我使用了SourceTree,这是警告Doingsowillmakeyourworkingcopya'detachedHEAD',whichmeansyouwon'tbeonabranchanymore.Ifyouwanttocommitafterthisyou'llprobablywanttoeithercheckoutabranchagain,orcreateanewbranch.Isthisok?我工作了一整天,最后我全力以赴。所以我需要merge我

git - 我如何在 Mercurial 上执行 git reset --hard HEAD?

我是一名尝试使用Mercurial的Git用户。事情是这样的:我对我想还原的变更集执行了hgbackout。这创造了一个新的头,所以hg指示我merge(回到“默认”,我假设)。merge后,它告诉我我仍然必须提交。然后我注意到我在解决merge中的冲突时做错了什么,并决定我希望一切都像hgbackout之前一样,也就是说,我希望这个未提交的merge消失。在Git上,这个未提交的东西会在索引中,我只是做一个gitreset--hardHEAD来清除它,但是,据我所读,索引不存在Mercurial。那么我该如何退出呢? 最佳答案 如

git - 我如何在 Mercurial 上执行 git reset --hard HEAD?

我是一名尝试使用Mercurial的Git用户。事情是这样的:我对我想还原的变更集执行了hgbackout。这创造了一个新的头,所以hg指示我merge(回到“默认”,我假设)。merge后,它告诉我我仍然必须提交。然后我注意到我在解决merge中的冲突时做错了什么,并决定我希望一切都像hgbackout之前一样,也就是说,我希望这个未提交的merge消失。在Git上,这个未提交的东西会在索引中,我只是做一个gitreset--hardHEAD来清除它,但是,据我所读,索引不存在Mercurial。那么我该如何退出呢? 最佳答案 如

git - 为什么我的 Git 子模块 HEAD 与主模块分离?

我正在使用Git子模块。从服务器pull更改后,很多时候我的子模块头与主分支分离。为什么会这样?我必须总是这样做:gitbranchgitcheckoutmaster如何确保我的子模块始终指向master分支? 最佳答案 编辑:参见@SimbaAnswer有效的解决方案submodule..updateiswhatyouwanttochange,seethedocs-defaultcheckoutsubmodule..branchspecifyremotebranchtobetracked-defaultmaster旧答案:就我个人