【Git使用详解】Egit使用过程中遇到的有关问题及解决方法

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

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


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

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

git push –f

如果你用的是Egit则可以在推送界面选择“Force Update All Specs”即可,如下图:

【Git使用详解】Egit使用过程中遇到的有关问题及解决方法

 

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

$ git fetch

$ git merge

2句命令等价于

git pull

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


如下图:

【Git使用详解】Egit使用过程中遇到的有关问题及解决方法l

解决方法:

1.在本地工程目录找到config文件打开编辑,如果你用的是Egit则可以通过:windowspreferencesteamgitconfigurationrepository Settingsopen配置文件即可。

如下图:

【Git使用详解】Egit使用过程中遇到的有关问题及解决方法

2.config文件中添加:

[branch "master"]

       remote = origin

       merge = refs/heads/master

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

3.再执行pull方法即可。


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


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

【Git使用详解】Egit使用过程中遇到的有关问题及解决方法

解决这个问题需要在.get/config的文件中添加如下配置即可:

[remote"origin"]

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

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

【Git使用详解】Egit使用过程中遇到的有关问题及解决方法

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

推荐阅读:

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

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

【Git使用详解】Egit的常用操作详解

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