【Git使用详解】Egit使用过程当中遇到的问题及解决办法

1.   Git错误non-fast-forward后的冲突解决


问题(Non-fast-forward)的出现缘由在于:git仓库中已经有一部分代码,因此它不容许你直接把你的代码覆盖上去。因而你有2个选择方式:git

1.强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容

git push –fwindows

若是你用的是Egit则能够在推送界面选择“Force Update All Specs”便可,以下图:服务器

Git错误non-fast-forward后的冲突解决

 

2.先把git的东西fetch到你本地而后merge后再push

$ git fetchfetch

$ git mergespa

2句命令等价于.net

git pull插件

2. Git错误Thecurrent branch is not configured for pull No value for key branch.master.mergefound in config


以下图:orm

Git错误Thecurrent branch is not configured for pull No value for key branch.master.mergefound in configlxml

解决方法:blog

1.在本地工程目录找到config文件打开编辑,若是你用的是Egit则能够经过:windowspreferencesteamgitconfigurationrepository Settingsopen配置文件便可。

以下图:

Git错误Thecurrent branch is not configured for pull No value for key branch.master.mergefound in config

2.config文件中添加:

[branch "master"]

       remote = origin

       merge = refs/heads/master

以上的master要改成你要提交的分支。

3.再执行pull方法便可。


3.Can't connect to any repository: (Nothing to push)


若是没对分支的配置文件中添加推送配置的话,则没法向服务器推送这个分支的。以下图:

Can't connect to any repository: (Nothing to push)

解决这个问题须要在.get/config的文件中添加以下配置便可:

[remote"origin"]

   push=refs/heads/dev:refs/heads/dev

这句话的意思是将本地的dev分支推送到服务器的dev分支,或者也能够经过可视化界面来操做,以下图:

Can't connect to any repository: (Nothing to push)

在上图中的Sourceref:中选择本地要推送的分支,在Destinationref:中选择要推送到服务器上的分支,若是你想将这次的配置保存下来的话能够选择Save specifications in ‘origin’ configuration 复选框便可(选择此复选框会在config文件中自动添加push =refs/heads/dev:refs/heads/dev)。

推荐阅读:

【Git使用详解】Egit插件的安装图解

【Git使用详解】使用Egit克隆项目到本地图解 

【Git使用详解】Egit的经常使用操做详解

【Git使用详解】Git的使用心得