有人告诉我,您可以通过以下方式向与当前Git分支名称相匹配的远程分支推送和pull:gitpushoriginHEAD或gitpulloriginHEAD它以前一直对我有用,但奇怪的是有时它不起作用,而是推迟从master分支推/pull(这会导致pullmerge......不是我想要做)。我知道您可以通过简单地使用分支名称轻松地从您所在的分支推送/pull:gitpulloriginname-of-branch-i-want-to-pull-from无论如何:是否有某种原因导致HEAD丢失跟踪/不指向我当前的分支,就像它几乎总是这样?有没有什么方法可以推/pull到我当前正在处
我想知道裸存储库中HEAD的用途是什么?是否仅在克隆存储库时使用它来知道要在克隆的存储库中checkout哪个分支?请注意,这个问题不是关于什么是HEAD,而是考虑到它的功能,我想知道为什么bare存储库中需要它。 最佳答案 CanyoupleasenameacasewhereHEADisusedinabarerepository?参见“t/t1430-bad-ref-name.sh”您可以在裸仓库中进行软重置,这意味着您可以四处移动HEAD(当前提交),这是changethedefaultbranch的一种方式.这意味着当您克隆一
我正在尝试将我的Git存储库从Egit(EclipseGit)初始推送到GitHub。不幸的是,我收到以下错误:error:refusingtocreatefunnyref'HEAD'remotely我将源和目标ref都设置为“HEAD”这个错误信息是什么意思? 最佳答案 我通过选择master(refs/heads/master)作为源引用来解决这个问题。然后Egit也自动将目标ref设置为master。我想这个命令告诉git创建主分支,而选择HEAD要么尝试创建一个名为HEAD的分支,要么尝试推送到当前(不存在的)远程HEAD。
我一直在做我的项目,而在某个时候我发现有一件事停止了工作。当我的代码正常工作时,我需要查看它的状态,所以我决定使用gitcheckout(因为我想检查一些东西)。所以我已经完成了gitcheckoutSHA几次回到我无法到达HEAD的点时,输出如下:gitcheckoutSHA-HEADerror:Yourlocalchangestothefollowingfileswouldbeoverwrittenbycheckout:[listoffiles]Please,commityourchangesorstashthembeforeyoucanswitchbranches.Abortin
我检查了另一个有更新的分支,然后做了一些更改,切换回主git,现在更改消失了!我可以取回它们吗?终端基本上是:$gitcommit[detachedHEAD7c09e17]Fixedsomestufffileschanged,insertions(+),deletions(-)$gitpushmasterfatal:'master'doesnotappeartobeagitrepositoryfatal:Theremoteendhungupunexpectedly$gitcheckoutmasterPreviousHEADpositionwas7c09e17...Fixedsomest
我和我的friend有一个他创建的代码库。然后他创建了一个名为“词法分析器”的分支供我们处理。问题是虽然他可以在master和lexer之间来回切换,但对我来说根本不起作用。最终我只是重新开始(rm-rfrepo然后克隆了repo)但是仍然无法检查lexer分支?在新克隆的repo上:gitbranch给出:$gitbranch*mastergitcheckoutlexer给出:$gitcheckoutlexer$gitstatusOnbranchmasterYourbranchisup-to-datewith'origin/master'.我可以检查origin/lexer但我最终处
在git中,如果你直接checkout一个提交,你会得到一个很大的警告,开头是:"Youarein'detachedHEAD'state.Youcanlookaround..."没关系-我打算处于分离的HEAD状态。但是我在脚本中使用它,我不想在输出日志中出现这个警告,但我确实想要正常输出。我现在的“丑陋”解决方法是运行相同的命令两次,第一次使用-qstash警告,再一次获得正常输出:HEADisnowatdeadbeef...Message因为警告只打印一次。是否可以禁用警告以便我可以避免解决方法或解析输出? 最佳答案 无耻地复制
我有一个非常简单的Git项目,只有一个主分支,没有源。我不小心在我的项目中创建了一个分离的HEAD,然后在对该分离的HEAD进行了一系列提交之后,试图将它merge回我的Master分支。我在SourceTree中这样做,起初merge似乎有效(图表显示master进入头部,并且存在我修复的merge冲突),但后来我双击Master切换到那个分支然后我的HEAD突然消失了。我无法在所有分支下的SourceTree中的任何地方找到它,命令行上的gitbranch和gitlog也只显示我的Master分支。有没有办法从我丢失的分离HEAD中取回我的提交? 最佳答
我正在为Eclipse使用EGit插件,但每当我将我的项目添加到Git时,该插件都会在Eclipse目录View中我的项目文件夹旁边放置一个“NO-HEAD”指示。难道我做错了什么?这是什么意思? 最佳答案 它可以简单地意味着,在您进行第一次添加和第一次提交之前,您没有分支(甚至没有master分支),因此没有HEAD引用任何分支机构。在“WhydoIneedtoexplicitlypushanewbranch?”中查看更多信息。 关于Git"NO-HEAD"语句,我们在StackOve
我不得不承认我没有使用过gits的高级功能,但在我当前的项目中我不得不使用。情况:有人试图实现一些功能并将它们提交给master,现在我被要求做另一个人试图做的(但失败了),因此,我做的第一件事是gitcheckout-bclean_startHASHHash是一个正确的SHA1散列,在当前master之前大约有20次提交并且有效。我现在对该分支进行了一些更改,现在我想将远程存储库的当前主分支(具有其他人所做的更改)更改为我的本地分支。换句话说,我想将master20提交的头部移回,然后将我的新干净分支merge到其中。这正是我必须做的吗?使用revertHEAD~20等,或者是否有一