git----常见问题

1、当我们写完代码进行push的时候,如果远端文件被修改,就会报错,接下来我们就需要pull命令;

2、如果pull出现,表示远程分支中的文件已经有人修改了,且和你的写的代码发生了冲突

冲突的内容

解决方式1(需要和同事商量):
  如果我们确定远程的分支正好是我们需要的,而本地的分支上的修改比较陈旧或者不正确,那么可以直接丢弃本地分支内容,使用远程文件内容。

$:  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 <commit> are discarded.

解决方式2:

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

$:git add filename

$:git commit -m "message"

$:git pull origin master

$:git push origin master

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

  $:git reset --hard HEAD

合并master

  比如我们一直在远程的一个other分支上进行操作,如果需要和远程的master分支进行合并,我们肯定需要和自己的本地master分支合并

  1、git pull origin other ,拉取远程other分支合并到本地other分支:检查远程other分支的最新的情况(有需要进行修改,一般分支是自己的,别人不会修改)

  2、git checkout master ,切换本地分支

  3、git pull origin master,拉取远程master分支合并到本地master分支:检查远程的master分支的最新情况(非常有必要)

  4、git merge other:合并分支

  5、git push origin master:推送到远程master分支

关于merge的问题:

  如果合并的文件名不一样就好说,不会发生冲突,如果合并的分支文件名冲突就需要自己修改;(和pull的原理一样)

使用IDEA来解决冲突

  记住先commit代码后,在进行pull操作

1、当进行pull命令或者merger命令发送冲突了(IDEA会直接报错)

 2、

原文地址:https://www.cnblogs.com/yanxiaoge/p/11337788.html