当我在我的gitolite存储库上创建一个新的存储库时,我总是必须输入以下命令才能开始将代码推送到服务器。gitpushoriginmaster:refs/heads/master它有什么作用?我的猜测是,这与不确定的头部引用有关。谁能给我解释一下? 最佳答案 这个命令分为三个部分:gitpush这会调用推送命令origin这会命名您要推送到的Remote。这是存储在.git/config中的命名Remote之一(您可以使用gitremote列出这些Remote)、URL或token.这意味着当前存储库。master:refs/he
git1.8的另一个问题:$gitpusherror:dstrefrefs/heads/masterreceivesfrommorethanonesrc.error:failedtopushsomerefsto'gitosis@xxx.xx:xxx.git'建议?它在升级到1.8之前一直有效。$gitremote-vorigingitosis@xxx.xx:xxx.git(fetch)origingitosis@xxx.xx:xxx.git(push)谷歌搜索后我首先尝试了这个:$gitpushorigin:refs/heads/refs/heads/masterremote:warn
我想将git工作副本的文件恢复到给定的提交,而不将该提交设置为HEAD提交。如果我对给定的提交进行gitcheckout,我会获得一个分离的HEAD,并且在提交更改之后,提交树将如下所示:A|B|C|\DE虽然我想要获得的行为是:A|B|C|D|谢谢 最佳答案 应该这样做:gitreset--hardCgitreset--softD首先,您将HEAD、索引和工作树重置为C。然后将HEAD(并且只有HEAD,如“Practicalusesofgitreset--soft?”中所述)重置为D。请注意,此时的提交将创建一个包含C内容的新提
因此,出于某种原因,我与新的merge修补程序发生了很多冲突。实际[手动]更改的文件没有冲突。所有冲突都在修复期间未触及的文件中,显然是空格问题。我稍后会尝试解决该问题,但现在我需要merge修补程序并进行部署。如何解决所有冲突以使用HEAD版本?我不想一个文件一个文件地去。是的,我知道这是一种不好的做法,但冲突都是空白,我知道HEAD是正确的——通过所有测试并在生产中运行良好。有什么想法吗?我正在使用OSX。 最佳答案 gitmerge-Xoursorigin/master将与origin/master进行merge(与gitpu
我以前能够通过执行“丢弃”功能通过SourceTree撤消更改,该功能在后台生成此命令:git-cdiff.mnemonicprefix=false-ccore.quotepath=falsereset-qHEAD--myproj.csprojgit-cdiff.mnemonicprefix=false-ccore.quotepath=falsecheckoutHEAD--myproj.csproj突然这行不通了。我做了丢弃,没有错误发生,刷新View,但文件仍然是“修改过的”。然后我尝试在命令行中执行相同的操作,结果相同:c:\myproject>gitresetHEADUnstag
使用github和teamcity,构建似乎是refs/heads/master或master分支。每当github服务Hook启动构建时,它都在分支master上。每当TeamCity启动构建时(例如,当我开始构建时,或依赖构建触发构建时),分支是refs/heads/master。这会导致在同一页面上显示两个构建编号,master的最后一个构建和refs/heads/master的最后一个构建。有没有办法让TeamCity触发构建构建master而不是refs/heads/master?或者有没有办法让master和refs/heads/master被视为同一个分支,而不是不同的分
如果仅使用分支名称checkout一个分支,HEAD将更新为指向该分支。$gitcheckoutbranchSwitchedtobranch'branch'如果我使用refs/heads/branch或heads/branchcheckout分支,则HEAD变得分离。$gitcheckoutrefs/heads/branchNote:checkingout'refs/heads/branch'.Youarein'detachedHEAD'state.Youcanlookaround,makeexperimentalchangesandcommitthem,andyoucandiscar
有人告诉我,您可以通过以下方式向与当前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。