草庐IT

git - Gerrit :! [远程拒绝] HEAD -> refs/publish/master(无新变化)

我做了一些更改,提交它们并将分支推送到Gerrit(gitpushgerrit)。现在我的更改没有出现在Gerrit中,我认为这是因为我手动推送更改而不是使用gitreview.当我现在运行gitreview时,我收到了这个错误:remote:Processingchanges:refs:1,doneTossh://user@gerrit-host:29418/Project![remoterejected]HEAD->refs/publish/master(nonewchanges)error:failedtopushsomerefsto'ssh://user@gerrit-host

eclipse - egit 替换单个文件 - git 索引中的 HEAD 修订与文件

在egitgiteclipse插件中,我知道我可以通过右键单击单个文件并选择“替换为”>“HEAD修订”来“重置”单个文件。在git索引中用HEAD版本替换和用文件替换有什么区别? 最佳答案 HEAD是已经提交的文件的版本。索引是为准备提交而暂存(添加)但尚未提交的文件版本。 关于eclipse-egit替换单个文件-git索引中的HEAD修订与文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

git - 有人熟悉 git 错误 "missing object 0000000000000000000000000000000000000000 for refs/heads/..."吗?

我们正在运行gitv1.7.1并配置了gitweb。我们也使用gitolite进行管理,但我认为这与这个问题无关。我们有时会在Apache日志中收到如下错误:missingobject0000000000000000000000000000000000000000forrefs/heads/...末尾的省略号通常是分支名称。我相信零字符串被支持为SHA1值。显然,全零不是SHA1值。我不清楚这个值是从哪里来的?我在服务器上运行了gitfsck,它没有报告问题,但是gitgc解决了这个问题。此外,我们能够很好地pull和推送到这个存储库(和那个分支)。只有gitweb似乎受到影响。我知道

macos - 致命的 : could not parse HEAD Error When Committing

每当我尝试提交我的工作时,我都会收到此错误。fatal:couldnotparseHEAD如果我想保留我的更改,我应该怎么做? 最佳答案 你知道HEAD应该指向哪个分支吗?是master吗?运行gitsymbolic-refHEADrefs/heads/master。基本上,名称为HEAD的符号引用不知何故被破坏了。您(或您运行的软件)一定已经在.git目录中搜索过了。如果我是你,我会检查以确保你的repo协议(protocol)中没有其他东西被损坏。您可以通过运行gitfsck来验证您的对象数据库。

git - 我怎样才能摆脱 "Lost heads"?

在我第一次尝试使用git做一些事情时,我使用了GitHubforWindows。因为它是简单且相当原始的工具,所以我决定尝试SmartGit。当我环顾四周时,我发现我的测试有剩菜——一种叫做“丢头”的东西。我怎样才能摆脱这些垃圾?好像是gitgc--prune=now或类似的东西应该可以工作,但没有任何改变。我尝试谷歌搜索,但每个人都在尝试做相反的事情——从丢失的头或类似的东西中恢复丢失的提交。 最佳答案 根据manpage,gitgc不会垃圾收集通过“reflogs”引用的文件(您存储库中的.git/logs/文件)。这些HEAD

git - hg heads/hg parents 的 git 等价物是什么?

在hg中,我可以使用hgheads查看所有当前的头像。我仍然无法在git中找到等效项。git-hgrosettastone没有给出答案。至于hgparents,它在hg中简单地告诉节点的直接祖先,rosettastone简单地读取非常无用:gitlog#youcanreadalltheinformationyouneedfromthere(aslongasyoualreadyknowtheanswertothequestionyou'reasking) 最佳答案 gitrev-listHEAD,gitrev-list和gitrev-

git rebase -i HEAD~7 -- 在编辑器中只显示 "noop"

我正在尝试将位于HEAD的提交压缩为后面的提交。当我运行gitrebase-iHEAD~7,然而,我只看到一个noop在编辑器中!我对这应该如何工作完全感到困惑。我在我创建的分支(cleanup)中工作(在我在checkout-bcleanup...中找到的SHA1上使用reflog)在我拥有第一个rebase之后经验,我不小心删除了所有这些提交;重点是,我不确定分支的父级是什么(如果重要的话,在这里)。我只是想做我多次阅读的内容:我想稍微修改一些不是最近提交的提交代码。我不知道这是申请“压缩”还是只是修改,我不知道。当编辑器在运行上面显示的rebase命令后启动时,我也在STDOUT

git - 我如何修复在 git 中 check out HEAD^

好吧,我对我的项目进行了一些更改,导致一团糟。我已经提交了更改,所以我可以稍后返回它,然后使用gitcheckoutHEAD^来检查之前的提交。现在,当我提交我的项目时,它在命令行上将SHA-1显示为工作分支(而不是主分支)我不知道关于git的所有知识,但我猜HEAD仍然指向我损坏的副本,因为我正在切线并解决了问题。如何将HEAD指向我正在处理的最新提交?我猜这与rebase有关,但我不是100%确定。谢谢。 最佳答案 现在,当我提交我的项目时,它在命令行上将SHA-1显示为工作分支(而不是主分支)这可能意味着您有一个“分离的HEA

git - 恢复 - git reset --hard HEAD^

不幸的是,我做了几次gitreset--hardHEAD^,在几个文件中丢失了相当大的代码块。有没有办法恢复这些提交,或者在这种情况下转发到HEAD之前所在的位置,这样我就可以调出我丢失的那些行? 最佳答案 使用reflog恢复以前的HEAD的sha1。特别是文章reflog,yoursafetynet将与您特别相关。来自那篇文章:Themostcommonusageofthiscommandisthatyou’vejustdoneagitresetandmovedyourHEADbackafewcommits.Butoops,yo

git - 将 master head 移动到分支机构

我有几个功能分支和一个主分支。功能2已完成。通常我会rebase(使用远程SVN存储库并希望保留历史记录,因此没有定期merge)和ff-merge。但是因为我分支后master没有改变,我想把master头(在E)移动到G。使用gitbranch-fmasterG不会导致任何可见的更改,我认为这是因为G在不同的分支上。在这里使用gitupdate-ref-fmasterG安全吗?我应该坚持使用rebase/ff-merge吗?更好的东西?feature1C-D/masterA-B-E\feature2F-G谢谢。 最佳答案 您不必