2013-01-25 41 views
1

我使用Eclipse的Mac和PC例如:It同步有三个分支项目:的Git分支搞砸

master 
dev 
rendersystem 

我创建了Mac上的项目,当我创建的两个分支devrendersystem我已经使用revs/heads/master作为Source ref和Pull策略我使用了Merge。

现在我已经切换到我的电脑并使用Egit incl导入了项目。所有三个分支。但是,如果我更改为devrendersystem分支,它告诉我这些分支是远程跟踪的(在分支对话框中,远程跟踪/原始/ dev和/ orginin /呈现系统)。

如果我退房开发渲染系统分支,改变我的代码,然后提交,并尝试将其推到Github上,它不会推开发渲染系统分支,只有主推推。

我的问题是现在:我如何改变开发渲染系统分支机构,使他们在我可以将它们从我的Mac和PC推到Github上的状态?

对不起,如果这个问题听起来令人困惑,但Git是初学者混乱的一个地狱。

+0

什么是您的refspec? (http://wiki.eclipse.org/EGit/User_Guide#Push_Ref_Specifications) – VonC

+0

好问题!我想你的意思是:refs/heads/rendersystem?这是我可以在目标ref的Push对话框中选择的(对于Source ref,我只能选择refs/heads/master)。 – BadmintonCat

+0

理想情况下,它应该是'refs/heads/* refs/heads/*' – VonC

回答

0

远程跟踪分支在git中是只读的,因为它们表示远程更改。提取只会更新这些远程跟踪分支。 Pull首先执行Fetch,然后将更改与本地可编辑的分支合并。

在源计算机上,不需要创建此分支,因为它在本地初始化,并且推送分支可以创建远程分支。

您可以从远程分支创建本地分支,方法是右键单击Git存储库视图中的远程分支,然后选择创建分支...之后,您的分支将是可写的。

+0

谢谢,我现在明白应该如何创建一个本地分支,它应该基于(已经存在的)远程分支(我最初创建了一个本地主分支的开发分支,我认为这是错误的)。 – BadmintonCat