EGit使用——轻松解决无法pull,无法提交到master分支等问题

一、适用条件
1. android工程
2. 使用工具是的eclipse,egit
3. 数据来源自己搭建的git服务器(master等所有分支)

二、基本介绍
我们公司是使用的自己搭建的git服务器,所有的工程都是在服务器上初始化的master,如果想要用eclipse提交到master分支上,需要先pull下来主分支,然后才能提交到master分支(此方法不仅适用于pull master 分支,服务器上的所有分支都可以)。

三、具体内容
介绍完了,现在让我们看看具体的步骤吧。点击clone a git repository and add the clone to this view按钮(如果没有找到此按钮,可以点击windows ->show view ->other ->Git -> Git Repositories), 如图椭圆选中区域,弹出对话框,填写需要的内容,点击next
这里写图片描述

选择需要pull的分支,如图我选择的是master,然后点击next(在这里还有两个分支,因为我做教程使用的是我已经用过的工程,里面还有两个分支,我在这里抹去了)
这里写图片描述

Directory:填写pull下来的工程的目录,如图我是放在我的主工程下面
D:/android64/project/工程名字,工程名字你可以随便起名,不过最好是你需要建立的工程的名字,
remote name:填写远程服务器的名字,此处也可以随便起名,我使用的也是工程名字,点击finish完成
这里写图片描述

点击完成之后出现的了一个新的目录,如图所示,分支是master,后面还有一个git的路径,是D:/android64/project/工程名字/.git
(此时如果你查看你的工程目录D:/android64/project,会发现工程目中,有了一个xxx的工程,xxx是你的”工程名字”)
这里写图片描述
如果你的master是已经使用过的,比如别人已经写好的框架,你是作为一个参与开发者,你pull下来的可能会如图所示,在Working Directory中有一个完整工程,
这里写图片描述

此时并没有完成,我们需要右键点击此分支目录,点击import Projects,如图红色椭圆框,
这里写图片描述

选择import existing projects, 点击next
这里写图片描述

选择Android Project from Exsiting Code, 点击next
这里写图片描述

通过browse找到你pull是填写的工程目录,并找到那个需要导入工程
(我的是,D:/android64/project/工程名字),由于工程已经存在于我们的工程目录中了,不要选择copy project into workspace,点击finish,完成,此时我们pull下来的工程就被添加到我们工程目录中了
这里写图片描述

如图,pull下来的工程已经被添加到工程目录了,此时工程上有需要小星号,说明目录并没有被git追踪
这里写图片描述

右键点击目录,选择Team->Add to Index,此时星号消失,工程被git追踪,如果此时,还有带着星号的,可以选择Team ->commit,就好了,
这里写图片描述

从git服务器上pull工程,并添加到eclipse工程的操作完成,剩下的操作pull和push操作都和普通使用一样了。

总结
我们平时使用eclipse开发的时候,主要是用git的commit 和push,如果直接通过在工程目录里面建立工程,当提交到服务器时,会遇到无法提交到master分支(因为master分支是在服务器已经初始化好了,在服务器上已经存在了一个master分支,你在本地初始化的master分支和服务器的有冲突,并不是一个分支,上有一服务器会reject),如果你此时非要想提交到主分支,必须先要把服务器的初始化的git主分支pull到本地,此时你可能会想,我先建立一个工程,然后pull一下,再push提交不就行了吗?但是你很快就会发现pull会报错,不能用,然后你会去使用fetch from,网上也有很多教程,但是我个人试了一下,都不行(可能是我运气不好吧, 没有遇见好用的),不过也为我提供了一些思路,然后经过一番尝试,发现此方法可行,特在此分享一下,帮助朋友少走一些弯路吧,如果有更好的方案,邮件通知我lou@shangjing-inc.com,谢谢大家拿出时间来看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值