问题标签 [refspec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 带有跟踪分支的“git push”到 Gerrit
将更改推送到 Gerrit 需要相当深奥的命令
git push origin HEAD:refs/for/branchname
我们已经为此编写了脚本,但我正在寻找一种本机执行此操作的方法。借助 git 的强大配置,我似乎可以预配置其中的大部分内容[1],这样就git push
足够了……几乎。我被困在参考规范上remote.<name>.push
。
我已经可以创建一个跟踪主题分支,以便git pull
(没有其他参数)将来自上游远程的更改拉到我的主题分支中。但是对于 Gerrit,push 和 fetch refspecs 是不一样的:一个从 获取(合并)refs/heads/trackbranch
,但是一个推送到refs/for/trackbranch
[2]
我可以在 中配置一个push
refspec remote.<name>.push
,但是语法非常基本:如果我把
push = refs/heads/*:refs/for/*
然后这将尝试将我的t-foo
主题分支推送到refs/for/t-foo
. 但是 git 有t-foo
正在跟踪的信息trackbranch
。我可以定义一个 refspec 以便 git 自动尝试将任何内容推t-foo
送到它的 refspecrefs/for/trackbranch
吗?
我们目前正在使用脚本来执行此操作,我想我可以为每个主题分支定义一个推送 refspec(可能通过更多脚本编写)。我希望有一种本地 git 方式来执行此操作,这样我们就不需要为我们的团队依赖更多自定义的内部脚本。
git checkout origin/upstream_branch -b topic_branch
[1] 通过在现有分支中或在现有分支中定义跟踪分支git branch --set-upstream-to origin/upstream_branch
[2] 推动refs/for/*
创建一个变更集以供审查。有了适当的权限,人们可以推动refs/heads/*
绕过审查,但这否定了 Gerrit 的大部分观点。
git - 获取 Gerrit 更改的最新 refspec
如何通过单个命令获取有关 gerrit 更改的最新 refspec。我需要输出为“refs/changes/11/1234/4”。有没有相同的git命令
我知道结合 gerrit 查询和一些脚本的 ssh 命令可以实现这一点,但想知道是否有更好的方法来做同样的事情。以下是我用来获取 refspec 的 ssh 命令。
ssh -p $REVIEW_SERVER_PORT $GERRIT_REVIEW_SERVER gerrit 查询 --format=TEXT --current-patch-set $CHANGE_SHA | grep 参考。
同样,我也想获得 gerrit 更改的最新补丁集
wordpress - 'fatal: remote part of refspec is not a valid name in ..' 设置 Git 时出错
我正在尝试按照此处的说明使用 WPengine 设置 git:( http://wpengine.com/git/#production ) - 但是当我开始执行部署步骤时,出现以下错误:
git - 是否有可以解决错误的 git 命令:找不到远程分支 'refs/heads/foo/bar'?
在我的情况下,我正在跟踪其他人合并和删除的远程修补程序分支。
我已经删除了我的本地分支,但是当我拉取时,我仍然收到上述错误,因为我的 git 配置文件中有以下几行:
可以通过从文件中删除这些行来解决该错误,但是有没有办法从命令行执行此操作?
git - src refspec ~ 不匹配任何
嗨,我想将某些东西推送到特定的远程分支
我通过
我可以使用访问特定分支
我想向我的特定分支 origin/[branch] 提交一些内容但是当我尝试使用 by 推送某些内容时
我收到了这个错误
我试图解决这个问题,但我找不到任何解决方案......所以请帮助我 TT
git - Git refspec 用于从远程获取所有内容但保留本地提交 (LibGit2Sharp)
我正在使用 LibGit2Sharp 管理 git 存储库。我有一个从远程 A 克隆的裸git 存储库。现在我想从远程 B 获取所有更改(即所有头和标签)并这样做:
或 git 命令行中的等价物(如果我没记错的话):
然而,碰巧远程 B 与 A 相同,除了两个新提交不存在(哪些提交在两个分支头上)。这会导致 fetch 操作删除克隆中的这两个提交,如果我从远程 B 克隆,基本上会产生相同的结果。
什么是正确的 refspec(或其他正确的方法)进行获取,以保持本地提交完整,同时允许从远程 B 获取新提交?我也尝试过+refs/*:+refs/*
,但这会将分支标签添加到较旧的提交中,同时refs/*:refs/*
也不会获取新的更改。
git - 将错误推送到远程 git 存储库
我在运行良好的 VM 上设置了一个 git 存储库。我在本地计算机上克隆了存储库,并用一个简单的文件对其进行了测试,一切正常。
我现在要做的是将一些文件从我的开发目录提交到我的 git 存储库,但是当我这样做时,我收到以下错误消息:
奇怪的是我的仓库不是“git@github.com:ezsystems/ezplatform.git”,我通常通过 SSH 连接将我的文件推送到我的虚拟 git 服务器!另外,因为我正在处理网络项目,所以我将我的开发目录的符号链接直接链接到我的本地 git 存储库中。我不认为这是一个问题。当我想推送位于我的开发目录中的文件时,我也会收到此消息:
你有什么线索可以帮助我解决这个问题吗?
git - git push new file to a bare repo 失败:“错误:src refspec master 不匹配任何内容。” 为什么?
我正在尝试这个:
我可以看到像这样的文件名
好的,然后在另一个目录中,
然后它给出了一个错误:
我搜索了谷歌,它说这种错误是由于远程仓库上的空文件夹造成的。但是远程仓库不是空的,我在本地提交的文件也不是空的。为什么这个错误仍然提示出来?
如何解决?谢谢。
git - Git push with full refspec not working
I have 2 branches (both locally and remotely on github). I will call them BranchA and BranchB. I have BranchA with commits c1, c2 and c3. I have BranchB only with commit c1. Both branches are totally updated with github, and I can check that BranchA has c1,c2 and c3 and BranchB has only c1.
I want to push from local BranchA to remote BranchB. To do this I try:
When I do this, I get a strange output:
When I go to github I see that BranchB is not updated and still only has c1. Then, if I run the command again, it returns that everything is up to date.
This was confusing me, but it got worse since when I try to do the command without the full ref, like this:
...it worked.
I am very confused by this. I searched for it and I thought that using the full ref (/refs/heads/ for example) would never do any harm.
Why is this happening? Shouldn't it work when I specify the full branch name?
git - Git跟踪不同的分支以进行推送和拉取?
我有一个 Git 存储库,它由 Gerrit 管理,你不推送到<branch>
,而是推送到refs/for/<branch>
,然后魔法发生了。因此,我希望git pull
and有不同的行为git push
。特别是,我想git pull
从 拉<branch>
,但git push
要推到refs/for/<branch>
。是否可以在 Git 中进行设置?
(注意:之前有人问过这个问题,但答案很简单,“不,但这是让 Git 强制你始终指定 refspec 的方法,这样你就永远不会意外推送到错误的分支”,这不是我正在寻找的答案)