问题标签 [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.

0 投票
2 回答
1302 浏览

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]

我可以在 中配置一个pushrefspec 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 的大部分观点。

0 投票
3 回答
8639 浏览

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 更改的最新补丁集

0 投票
2 回答
3630 浏览

wordpress - 'fatal: remote part of refspec is not a valid name in ..' 设置 Git 时出错

我正在尝试按照此处的说明使用 WPengine 设置 git:( http://wpengine.com/git/#production ) - 但是当我开始执行部署步骤时,出现以下错误:

0 投票
1 回答
753 浏览

git - 是否有可以解决错误的 git 命令:找不到远程分支 'refs/heads/foo/bar'?

在我的情况下,我正在跟踪其他人合并和删除的远程修补程序分支。

我已经删除了我的本地分支,但是当我拉取时,我仍然收到上述错误,因为我的 git 配置文件中有以下几行:

可以通过从文件中删除这些行来解决该错误,但是有没有办法从命令行执行此操作?

0 投票
2 回答
51033 浏览

git - src refspec ~ 不匹配任何

嗨,我想将某些东西推送到特定的远程分支

我通过

我可以使用访问特定分支

我想向我的特定分支 origin/[branch] 提交一些内容但是当我尝试使用 by 推送某些内容时

我收到了这个错误

我试图解决这个问题,但我找不到任何解决方案......所以请帮助我 TT

0 投票
1 回答
540 浏览

git - Git refspec 用于从远程获取所有内容但保留本地提交 (LibGit2Sharp)

我正在使用 LibGit2Sharp 管理 git 存储库。我有一个从远程 A 克隆的git 存储库。现在我想从远程 B 获取所有更改(即所有头和标签)并这样做:

或 git 命令行中的等价物(如果我没记错的话):

然而,碰巧远程 B 与 A 相同,除了两个新提交不存在(哪些提交在两个分支头上)。这会导致 fetch 操作删除克隆中的这两个提交,如果我从远程 B 克隆,基本上会产生相同的结果。

什么是正确的 refspec(或其他正确的方法)进行获取,以保持本地提交完整,同时允许从远程 B 获取新提交?我也尝试过+refs/*:+refs/*,但这会将分支标签添加到较旧的提交中,同时refs/*:refs/*也不会获取新的更改。

0 投票
1 回答
43 浏览

git - 将错误推送到远程 git 存储库

我在运行良好的 VM 上设置了一个 git 存储库。我在本地计算机上克隆了存储库,并用一个简单的文件对其进行了测试,一切正常。

我现在要做的是将一些文件从我的开发目录提交到我的 git 存储库,但是当我这样做时,我收到以下错误消息:

奇怪的是我的仓库不是“git@github.com:ezsystems/ezplatform.git”,我通常通过 SSH 连接将我的文件推送到我的虚拟 git 服务器!另外,因为我正在处理网络项目,所以我将我的开发目录的符号链接直接链接到我的本地 git 存储库中。我不认为这是一个问题。当我想推送位于我的开发目录中的文件时,我也会收到此消息:

你有什么线索可以帮助我解决这个问题吗?

0 投票
2 回答
571 浏览

git - git push new file to a bare repo 失败:“错误:src refspec master 不匹配任何内容。” 为什么?

我正在尝试这个:

我可以看到像这样的文件名

好的,然后在另一个目录中,

然后它给出了一个错误:

我搜索了谷歌,它说这种错误是由于远程仓库上的空文件夹造成的。但是远程仓库不是空的,我在本地提交的文件也不是空的。为什么这个错误仍然提示出来?

如何解决?谢谢。

0 投票
1 回答
1084 浏览

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?

0 投票
1 回答
136 浏览

git - Git跟踪不同的分支以进行推送和拉取?

我有一个 Git 存储库,它由 Gerrit 管理,你不推送到<branch>,而是推送到refs/for/<branch>,然后魔法发生了。因此,我希望git pulland有不同的行为git push。特别是,我想git pull从 拉<branch>,但git push要推到refs/for/<branch>。是否可以在 Git 中进行设置?

(注意:之前有人问过这个问题,但答案很简单,“不,但这是让 Git 强制你始终指定 refspec 的方法,这样你就永远不会意外推送到错误的分支”,这不是我正在寻找的答案)