我发现,在officialguide:gitpushoriginHEADAhandywaytopushthecurrentbranchtothesamenameontheremote.但是,我不清楚命令的含义。为什么会有这样的效果?我没能找到答案(thisquestion似乎解决了这个问题,但标题具有误导性)。 最佳答案 HEAD指向当前分支的顶部。git可以从中获取分支名称。所以它与:gitpushoriginCURRENT_BRANCH_NAME但您不必记住/键入当前分支名称。它还可以防止您意外推送到错误的远程分支。如果你想推送
我尝试使用Git在命令行中merge文件,但出现一条错误消息,告诉我merge已中止。我以为就这样结束了,但后来我意识到我的文件中有gitmarks。像这样:start=expressionvalidchar=[0-9a-zA-Z_?!+\-=@#$%^&*/.]integer=>>>>>>gh-pages这些文件不是由我编辑的,并显示插入的行:小于号后的HEAD()更改的代码行一串等号(=======)新版本代码另一行以大于号和分支名称(>>>>>>>gh-pages)开头更糟糕的是,文件内容不再按顺序排列。有谁知道我是如何让那些文件恢复正常的,以及我在gh-branch中所做的更改
我在运行Maven发布插件准备步骤时收到以下错误输出,即mvnrelease:prepare--batch-mode-DreleaseVersion=1.1.2-DdevelopmentVersion=1.2.0-SNAPSHOT-Dtag=v1.1.2-X来自AtlassianBamboo计划。但是,在命令行中执行相同的操作可以正常工作。完整的错误堆栈如下。有什么办法可以解决这个问题吗?[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-release-plugin:2.4.2:prepare(default-cli)on
如何将Git远程的HEAD引用设置为指向“master”以外的其他内容?我的项目有一个不使用“主”分支的策略(所有分支都应该有有意义的名称)。此外,规范的主存储库只能通过ssh://访问,不能通过shell访问(如GitHub或Unfuddle)。我的问题是远程存储库仍然有一个指向refs/heads/master的HEAD引用,但我需要它指向不同的分支。这导致了两个问题:克隆repo时,有这个,warning:remoteHEADreferstononexistentref,unabletocheckout.这令人困惑和不便。基于网络的代码浏览器依赖于HEAD作为浏览树的基础。那么我
我设置了一个分支来跟踪原始引用。gitcheckout切换到那个分支,并且一个gitstatus会告诉我我的分支离原点有多远,但令我惊讶的是origin/HEAD仍然指向origin/master,而不是origin/所以我的问题是,在什么情况下origin/HEAD会移动?编辑:我很欣赏有关如何移动origin/HEAD的答案,但我对“有机地”移动它的原因很感兴趣,除了我明确告诉它这样做之外。例如,当我切换分支时,git将HEAD指向我正在checkout的分支,所以我很惊讶origin/HEAD没有以相同的方式移动。 最佳答案
在Git中,我试图通过merge到另一个分支然后通过以下方式将HEAD重置到之前的位置来执行squashcommit:gitresetorigin/master但我需要走出这一步。如何将HEAD移回之前的位置?我有我需要将其移动到的提交的SHA-1片段(23b6772)。我怎样才能回到这个提交? 最佳答案 在回答之前,让我们添加一些背景,解释一下这个HEAD是什么是。FirstofallwhatisHEAD?HEAD只是对当前分支上当前提交(最新)的引用。只能有一个HEAD在任何给定时间(不包括gitworktree)。HEAD的内
我是Git的新手,如果我执行以下命令,我似乎有一个分支太多:warning:refname'HEAD'isambiguous.我得到以下输出:warning:refname'HEAD'isambiguous.Fromgithub.com:dagda1/hornget*branchmaster->FETCH_HEADwarning:refname'HEAD'isambiguous.warning:refname'HEAD'isambiguous.如果我执行gitbranch-a我得到以下信息:HEAD*masterremotes/emmekappa/masterremotes/origi
GitRef.org-Basic:gitrmwillremoveentriesfromthestagingarea.ThisisabitdifferentfromgitresetHEADwhich"unstages"files.By"unstage"Imeanitrevertsthestagingareatowhatwastherebeforewestartedmodifyingthings.gitrmontheotherhandjustkicksthefileoffthestageentirely,sothatit'snotincludedinthenextcommitsnapsho
当你运行gitbranch-r时,为什么它会列出origin/HEAD?例如,GitHub上有一个远程仓库,有两个分支:master和awesome-feature。如果我执行gitclone来获取它,然后进入我的新目录并列出分支,我会看到:$gitbranch-rorigin/HEADorigin/masterorigin/awesome-feature或者它的顺序是什么(alpha?我伪造这个例子是为了保密一个无辜的repo协议(protocol)的身份)。那么HEAD业务是什么?这是最后一个push的人在推送时将他们的HEAD指向什么吗?这不会总是他们push编辑的内容吗?HEA
gitpull--help说:Initsdefaultmode,gitpullisshorthandforgitfetchfollowedbygitmergeFETCH_HEAD.这是什么FETCH_HEAD以及在gitpull期间实际merge的是什么? 最佳答案 FETCH_HEAD是一个短暂的引用,用于跟踪刚刚从远程存储库中获取的内容。gitpull首先调用gitfetch,在正常情况下从远程获取一个分支;FETCH_HEAD指向这个分支的尖端(它存储提交的SHA1,就像分支一样)。gitpull然后调用gitmerge,me