GIT提交代码遇到冲突的解决办法

1.冲突情形

Git命令在提交代码前,没有使用git pull命令拉取最新的代码,因此再次提交出现的冲突:

解决方法有如下两种:

  1. 保留你本地的修改

git merge --about

git reset --merge

合并后记得一定要提交这个本地的合并(add—>commit—>push—>pull)

然后执行git pull获取线上仓库。

2. dowm下线上代码版本,抛弃本地的修改

不建议这样做,但是如果你本地修改不大或者有一份备份留存,可以直接用线上最新版本覆盖到本地。

git fetch --all

git reset –hard origin/master

git fetch

2. 冲突情形二 

从git远程仓库中pull最新的代码,出现如下错误:Please commit your changes or stash them before you merge.

解决方法如下:

  1. git stash  //暂存代码
  2. git pull 分支名 //从远程仓库拉取最新代码
  3. git stash pop //合并代码到本地仓库,此时代码是将暂存的代码和远程仓库的代码合并
  4. 这时候需要手动修改合并所需的代码即可
  5. git stash clear //清空git栈

git stash可以用来暂存当前正在进行的工作,比如想pull最新代码,又不想加新commit,或者另外一种情形,为了fix一个紧急的bug,先stash,使返回到自己上一个commit,改完bug之后再stash pop以继续原来的工作。

以下是stash常用命令:

命令

功能

git stash

备份当前工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前工作区内容保存到Git栈中

git stash pop

从Git栈中读取最近一次保存的内容,恢复工作区的相关内容

git stash list

显示Git栈内的所有备份

git stash clear

清空Git栈

3. 冲突情形

 本地回退历史版本,当提交代码发生冲突或想会退到某一个版本,操作如下:

  1. git log(获取提交的历史日志)
  2. 执行命令:git reset --hard 版本号(就是git log中的commit 后面的哈希值,上图中的黄色部分commit后面的值)
  3. 想要修改远程上的代码还要执行如下命令:

git push –u 代码所在的分支 –f//强制提交,此时远程上的代码已被覆盖(不建议使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值