【发布时间】:2013-01-25 07:20:23
【问题描述】:
我在 Eclipse Mac 和 PC 上使用 Egit 来同步一个具有三个分支的项目:
master
dev
rendersystem
我在 Mac 上创建了项目,当我创建两个分支 dev 和 rendersystem 时,我使用了 revs/heads/master 作为 Source ref 和 Pull 策略,我使用了 Merge。
现在我已经切换到我的 PC 并使用 Egit incl 导入了项目。所有三个分支。但是,如果我更改为 dev 或 rendersystem 分支,它会告诉我这些分支是远程跟踪的(在分支对话框中,远程跟踪 /origin/dev 和 /orginin/rendersystem)。
如果我检查 dev 或 rendersystem 分支并更改我的代码,然后提交它并尝试将其推送到 Github,它不会推送 dev 或 rendersystem 分支,只有它推送的 master。
我现在的问题是:如何更改 dev 和 rendersystem 分支,使它们处于可以从 Mac 和 PC 推送到 Github 的状态?
对不起,如果这个问题听起来令人困惑,但 Git 对初学者来说是一个令人困惑的地狱。
【问题讨论】:
-
你的 refspec 是什么? (wiki.eclipse.org/EGit/User_Guide#Push_Ref_Specifications)
-
好问题!我想你的意思是:refs/heads/rendersystem?这是我可以在 Destination ref 的 Push 对话框中选择的内容(对于 Source ref,我只能选择 refs/heads/master)。
-
理想情况下应该是
refs/heads/* refs/heads/* -
如果我单击“添加所有分支规范”,它会将“要推送的规范”设置为 refs/heads/* 源引用和目标引用,但这只会推送主分支,而不是开发和渲染系统分支。
-
但是如果你结帐
dev,然后推送(来自Egit),它会推送dev吗?或者你希望它在每次推送时推送所有个分支,无论你当前的分支是什么?
标签: eclipse git github git-branch egit