【Git使用具体解释】Egit使用过程中遇到的问题及解决的方法 1.   Git错误non-fast-forward后的冲突解决 2. Git错误Thecurrent branch is not configured for pull No value for key branch.master.mergefound in config 3.Can't connect to any repository: (Nothing to push)

【Git使用具体解释】Egit使用过程中遇到的问题及解决的方法
1.   Git错误non-fast-forward后的冲突解决
2. Git错误Thecurrent branch is not configured for pull No value for key branch.master.mergefound in config
3.Can't connect to any repository: (Nothing to push)


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

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

git push –f

假设你用的是Egit则能够在推送界面选择“Force Update All Specs”就可以,例如以下图:

 

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


例如以下图:

l

解决方法:

1.在本地project文件夹找到config文件打开编辑,假设你用的是Egit则能够通过:windowspreferencesteamgitconfigurationrepository Settingsopen配置文件就可以。

例如以下图:

2.config文件里加入:

[branch "master"]

       remote = origin

       merge = refs/heads/master

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

3.再运行pull方法就可以。


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


假设没对分支的配置文件里加入推送配置的话,则无法向server推送这个分支的。

例如以下图:

解决问题须要在.get/config的文件里加入例如以下配置就可以:

[remote"origin"]

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

这句话的意思是将本地的dev分支推送到server的dev分支。或者也能够通过可视化界面来操作。例如以下图:

在上图中的Sourceref:中选择本地要推送的分支。在Destinationref:中选择要推送到server上的分支,假设你想将此次的配置保存下来的话能够选择Save specifications in ‘origin’ configuration 复选框就可以(选择此复选框会在config文件里自己主动加入push =refs/heads/dev:refs/heads/dev)。

推荐阅读:

【Git使用具体解释】Egit插件的安装图解

【Git使用具体解释】使用Egit克隆项目到本地图解 

【Git使用具体解释】Egit的经常使用操作具体解释

【Git使用具体解释】Git的使用心得