EGit:为什么 "Local branch as upstream is not recommended"?

EGit: why "Local branch as upstream is not recommended"?

当我创建一个新的 b运行ch 时,如果我设置“Configure upstream for push and pull”,则会出现警告(在屏幕截图中以蓝色圈出) .为什么不推荐这样做?那有什么潜在的问题或缺点?

我 运行 通过搜索引擎搜索了该警告并在 https://git-scm.com and https://www.eclipse.org/egit/ 上进行了搜索,但我一无所获,当我单击“?”时该对话框中的帮助按钮没有任何反应。

此外,如果我想遵循该警告和 "use remote branch" 中的建议,我该怎么做?当然,除了“为推拉配置上游”复选框外,我在该对话框中所做的任何更改都不会导致警告消失。

我想它是在告诉您,将代码存储在同一设备的另一个位置并不能帮助您保留代码。而推送到 GitHub 或 BitBucket 将允许您销毁您的设备并仍然拥有代码。即,将您的代码存储在本地两次并不能节省更多。

要解决此问题,请在 BitBucket(允许免费私人回购)或 GitHub 上创建一个回购协议,然后将您的代码推送到那里。

将另一个本地分支设置为上游并没有什么错误。这只是意味着 git fetch 什么都不做——你已经有了自己的所有提交; git merge 从其他分支合并; git rebase 变基到另一个分支; git push 尝试快进另一个分支,如果不能则失败。

"other branch"(上游)是您自己的普通本地分支,照常存储在您的存储库中。因此,你是你自己的上游(从另一个分支来看,也是你自己的下游)。感觉有点乱伦。 :-)

我完全不清楚什么其他本地分支EGit将设置为上游,在这里。 (我不使用 EGit。)根据图片中的内容,我的猜测是 master

我认为更好的 answer/explanation 是在 99.9% 的情况下你不应该检查这个 egit 对话框中的 'Configure upstream for push and pull'。

相反,你应该不选中它,当你稍后尝试推送时,egit 会让你配置正确的上游(在源)以进行合并或变基或任何你的偏好。

这个 UI 非常具有误导性,如果您确实选中该框(以及 select 下拉列表中的内容)——这似乎是一件合理的事情——你将得到一些你可能根本不期望的东西——无论你 select 将成为你新分支的 'upstream' (你将 'push' 更改的地方)并且因为实际的上游你想要的(同名分支在原点)此时不可用,你很可能会以混乱的配置结束。