问题标签 [upstream-branch]

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 回答
96 浏览

git - 在我的私人存储库中推送代码时出错

有人可以帮我解决以下问题吗:
我从我的教授 Git url 克隆了数据,并尝试设置我的私人帐户有上游主机并将代码推送到我的私人存储库(https://github.com/accountid/reponame ')。

当我git checkout -b branchname,它在我的教授回购而不是在我的帐户中创建一个新分支时,我想在我的私人回购中创建一个主人。

但我收到以下错误:

如何推送到我的私有存储库?

0 投票
1 回答
30 浏览

email - jenkins 中的电子邮件上游作业工件

我有两个詹金斯工作 - JobA(上游)和 JobB(下游)。JobA 生成工件 TestReport.zip。我想在 JobB 中获取 TestReport.zip 工件,并将其作为附件发送到 JobB 发送的电子邮件中。我尝试了复制神器插件,但没有运气。有人可以帮助一些步骤如何做到这一点?

0 投票
1 回答
701 浏览

networking - 使用 Traefik Ingress Controller 将流量路由到 Kubernetes 外部

我使用 Traefik 作为 Kubernetes 集群的入口控制器。它工作正常,并且正如预期的那样,除了一个用例之外的所有用例。

我的服务/应用程序很少,都在同一个 URL/主机上提供服务,但在不同的路径上。
到目前为止,所有应用程序都部署在 EC2-VM 上,位于 ALB 后面,并且路由规则是在 ALB 中编写的。

现在我已经把一些应用迁移到了 Kubernetes,还有一些仍然部署在 ALB 后面。我希望所有流量只通过 traefik 提供,并且 traefik 应该根据路径规则路由到 Kubernetes 内部和 Kubernetes 外部的应用程序。

我想将我的 URL 指向 traefik 并有一个类似的规则(这样我可以将一个上游定义为 URL):

traefik 可以吗?我尝试在 traefik 文档和谷歌上搜索,但找不到任何相关的解决方案。

0 投票
1 回答
702 浏览

git - 理解: git push --set-upstream "refspec" 带和不带前缀“HEAD”

我有本地 git 分支<BRANCH_NAME>,它没有参考上游来源。我对本地分支进行了一些更改,并在本地提交了相同的内容。我现在正在尝试推送到远程来源。

  1. 当我尝试: git push --set-upstream origin <BRANCH_NAME> 它抛出错误:
  1. 当我尝试 git push --set-upstream origin **HEAD:**<BRANCH_NAME>成功时

命令之间的区别在于HEAD:到“BRANCH_NAME”的前缀。所以我的问题是:

  1. 带/不带前缀“HEAD”的推送有什么区别?
  2. 如果我能获得 git 命令背后发生的事情的图形表示,以便我更好地理解,那将会很有帮助。
  3. 让我知道是否需要我提供更多信息以进行澄清。

笔记:

  • 我明白什么是HEAD。它指向当前分支的最新提交。
  • 我确实尝试过cat .git/HEAD,输出是ref: refs/heads/<BRANCH_NAME>- 这是正确的。
  • 我在stackoverflow的一些答案中注意到,它被提到做git commit. 我也尝试过提交方法并面临同样的错误。

提前致谢

0 投票
2 回答
187 浏览

git - 解决 git 上游 rebase “困难案例”

如果每个分支都引用了它的初始基本提交(比如) ,那么git 上游 rebase “硬案例”问题是否会得到解决branch@{base}

这个初始的基本提交(branch.<name>.base例如,存储在配置文件中)将首先是分支最初创建时指向的那个。

然后,任何git rebase new_base_commit branch人实际上都可以git rebase --onto new_base_commit branch@{base} branch在更新branch@{base}new_base_commit.

它只会自动化文档的“硬案例”解决方案。

我想如果这样一个简单的解决方案还没有实施,应该有充分的理由不这样做。既然我什么都看不到,那一定意味着我误解了什么。

那么,如果有,这些原因是什么?


编辑:阅读bk2204 的回答让我意识到这种行为只会对跟踪分支的特殊用例有用和预期(我应该早点意识到,因为它是关于上游变基的),所以应该记录初始基数只用于跟踪分支,仅用于使用隐式的命令@{upstream},例如git rebase不带参数的命令。


编辑:我刚刚发现实际上,git pull --rebase并且git rebase已经使用 的算法做了类似的事情git merge-base --fork-point,但后者使用可以被垃圾收集的 reflog 来动态计算分叉点。

所以我仍然想知道:为什么不简单地将它存储在旁边branch.<name>.remotebranch.<name>.merge

例如,当用户开始跟踪另一个分支*时,可以使用 和 来计算分叉点git merge-base --fork-point upstream local并将其存储在git config branch.local.forkPoint(或任何其他名称)git config branch.local.remotegit config branch.local.merge
然后,当用户执行 agit pull --rebase或 agit rebase时,它可以做**:

如果用户尝试执行 agit pull或 a git merge,它可以首先检查local@{upstream}没有重新设置基础,使用:

如果它被 rebase,它可能会中止,并建议改为执行 rebase 或编写完整的合并命令来强制它(例如)。


编辑:我认为,为了能够正确处理文档此页面中“变基的危险”中描述的情况,当使用合并而不是变基将分支“同步”到其上游时,最后一次“同步”点”应该被检查以验证上游也没有从那时起重新定位。

因此,每个git pullorgit merge还应该在应用合并后将来自上游分支的合并父提交存储在某个地方(比如branch.local.lastSyncPoint可能)。在应用合并之前,它还应该检查:

实际上,它可以使对分叉点的检查无用。


编辑:此外,我认为变基应该丢弃从最后一个“同步点”可到达的所有提交,这些提交未包含在(变基)上游(local@{upstream}..`git config branch.local.lastSyncPoint` )中。在丢弃提交的情况下,它将使其按照预期工作。


* 带有git switch --create local --track upstreamgit checkout -b local upstreamgit branch --track local upstreamgit branch --set-upstream-to upstream local

** 而不是即时:

0 投票
2 回答
56 浏览

git - 创建 Git Rebase 别名

我有这个 git 命令,我经常将它用作 zsh 函数。

我想要实现的是创建一个别名并能够调用它git upstream而不是仅仅调用$ upstream一个 zsh 函数。我得到的最接近的是:

$(...)但是,我的猜测是,由于某些解析错误,它确实失败了。它显示给我的错误是:

我试图通过别名做的事情可能吗?如果没有,你能指导我找到任何一种来源来创建git upstream命令吗?

0 投票
0 回答
50 浏览

git - 为什么 git branch -m 的行为对于 macOS 和 windows 版本的 git 不同?

我和我的同事一直在尝试制定一个清晰、一致的程序来在本地和远程重命名 git 分支。

假设我们oldname在本地和远程都有一个分支,并且想要将其重命名为newname,并且我们已经oldname按照https://stackoverflow.com/a/30590238/1592322(以及互联网上的其他类似建议)签出了本地分支,这些步骤适用于我的同事:

而我必须遵循显式取消设置上游信息的中间步骤(正如我在上面提供的同一堆栈溢出链接中的 user:22992 所建议的那样):

如果我的同事使用我的(稍长的)程序,那么第二个附加步骤git branch --unset-upstream会导致错误:

所以我们不能使用相同的一致程序,并且猜测我们通常只需要注意这一点。在我看来,git branch -m不同 git 版本之间的行为不同。这个对吗?为什么行为上有差异?

我的同事正在运行 git version version 2.18.0.windows.1 。而我在 macOS 10.13.6 上运行 2.17.2 (Apple Git-113)。

0 投票
1 回答
183 浏览

git - 如何在 GitHub 上编辑/推送/拉取父分支的父级

对于一个项目,我使用了一个名为 Efficientnet-pytorch-3d 的 Python 包(这个github 页面)。这个 3D 实现是从一个名为 Efficientnet-pytorch(这个github 页面)的 2D 实现中派生出来的。github上的fork顺序是这样的:

如您所见,我将包的 3D 实现分叉到我自己的GitHub,因为我需要添加一些我缺少的功能。我更改了代码并向 shijianjian/Efficientnet-Pytorch-3D 存储库执行了拉取请求,以将其合并到主库中。

好的,所以现在我的问题。在 2D Efficientnet-pytorch GitHub 的问题页面上,我发现有人要求我添加到 3D 实现中的功能。我可以轻松地将其添加到代码中,但是由于 2D 和 3D 代码现在完全不同,因此无法仅对我对 Efficientnet-PyTorch-3D 代码所做的更改执行拉取请求。显然不可能也将 lukemela/EfficientNet-PyTorch 分叉到我的 github 中......

如何将代码从原始存储库 (lukemelas/EfficientNet-PyTorch) 拉到我的 GitHub,进行更改,然后将其推送到 lukemelas/EfficientNet-PyTorch?

我只能找到有关如何将代码推送到我拥有的 fork 的父级的指南(例如到 shijianjian/EfficientNet-PyTorch-3D),但我似乎无法找到如何到达父级的父级。

0 投票
1 回答
254 浏览

git - 将代码推送到 git 分支时出错

我正在尝试将代码推送到我的分支,但我之前没有对分支进行任何提交。git add 和 git commit 工作正常,但是当我执行 git push 时,出现以下错误:

致命:当前分支 my_branch 没有上游分支。要推送当前分支并将远程设置为上游,请使用

当我运行建议的命令时,我收到另一个错误:

致命:my_branch 无法解析为分支

我也尝试了 git pull 并且效果很好,但是当我专门为我的分支执行 git pull 时,我得到了另一个错误:

致命:找不到远程参考 my_branch

提前致谢:)

0 投票
2 回答
170 浏览

git - `git checkout -b newbranch upstream/newbranch` 和 `git checkout newbranch` 之间的区别

我已阅读有关将上游分支导入 fork 的答案答案建议使用git checkout -b newbranch upstream/newbranch切换到新分支。我总是git checkout newbranch在这种情况下使用它,它也很有效。这些命令之间有什么区别吗?我的猜测是我只需要-b指定一个分支名称,以防它应该不同于upstream/newbranch. 但是,如果我只想要具有原始名称的分支,那么使用andnewbranch之间有什么区别吗?我已经阅读了文档,但这并没有真正回答我的问题。git checkout -b newbranch upstream/newbranchgit checkout newbranch-b