Git使用常见问题汇总

1、在pull代码的时候,发现本地配置文件修改与远程repository有冲突了,此时可以commit or stash 本地代码,但是不要push,push会覆盖远程的代码,具体问题的解释以及resolution:如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,在发布这个配置文件的时候,会发生代码冲突:error: Your local changes to the following files would be overwritten by merge:protected/config/main.php
Please, commit your changes or stash them before you can merge.

参考:http://blog.csdn.net/iefreer/article/details/7679631

2、在git stash时候提示unable to auto-detect email address,好像是没有设置邮箱什么的,按照提示设置下就可以了。

参考 : http://segmentfault.com/q/1010000002930769


3、代码冲突怎么办,要保留本地代码还是覆盖。

方法一:如果我们确定远程的分支正好是我们需要的,而本地的分支上的修改比较陈旧或者不正确,那么可以直接丢弃本地分支内容,运行如下命令(看需要决定是否需要运行git fetch取得远程分支):

$:git reset --hard origin/master

或者$:git reset --hard ORIG_HEAD

解释:

 git-reset - Reset current HEAD to the specified state


--hard
               Resets the index and working tree. Any changes to tracked files
               in the working tree since are discarded.


方法二:我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令

$:git add filename

$:git commit -m "message"

 


方法三:如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

$:git reset --hard HEAD

参考  :http://www.2cto.com/kf/201308/237957.html



你可能感兴趣的:(Java)