git操作相关问题整理以及解决方法(持续更新)

作为一名合格的程序员,版本控制工具肯定是要会使用的。博主以前一直用的是SVN,git用的不是很多,如今新东家用的是git,博主在使用过程中遇到一些问题,想着肯定也有小伙伴遇到相同的问题,所以就想总结一下分享出来,日后也会持续更新。
1.我们pull代码时,有时候会出现 git: Your branch and ‘origin/master’ have diverged
描述:你的分支和原分支有分歧
解决方法:
1).git fetch origin
git reset --hard origin/master
本地回滚至最初更改前的状态,可以解决问题
2).将光标放到在vim框的末尾,然后在键盘上 按下 Shift + z z 就可以了
2.git pull时出现Auto Merge Failed; Fix Conflicts and Then Commit the Result.
输入git status结果如下
在这里插入图片描述

从git status的结果可以发现:有两个文件存在合并冲突
git pull执行过程中分两步(1)从远程pull下origin/master分支(2)将远程的origin/master分支与本地master分支进行合并
这里可以看出问题是在第二步上
解决方法:
1).远程的分支是需要的,可以丢弃本地分支内容,则运行如下命令:
git reset --hard origin/master
或者git reset --hard ORIG_HEAD
2).本地修改需要保留,则对unmerged的文件进行手动修改,删掉冲突部分,然后运行如下命令
$:git add filename
$:git commit -m “message”
3).想废弃这次合并,回滚至合并之前状态,可以运行如下命令:
$:git reset --hard HEAD
3.git push代码时错误: rejected non-fast-forward
问题描述:文件冲突,本地的代码和远程Repository中的文件个数不一致(即远程Repository中存在本地项目中不存在的文件)或本地项目不是在远程Repository代码的基础上修改的。也见于初始上传项目的时候,远程Repository中已有代码。
解决方法:将远程Repository中的代码pull到本地进行merge,然后再进行Push,即可完成代码提交。或者 强制提交代码,命令行的话加上 -f 参数。
4.Git出现|MERGING情况
这是合并冲突
解决方法:
1).解决冲突,删除代码中矛盾的代码,然后上传或者下拉
2).git reset --hard head回退到操作前的状态
3).discard删除下载的,或者上传的代码,然后分别check out两个分支
5.Git如何回滚到某个版本
如下:

$ git log -3    #参数说明:-p选项对话展开显示每次提交的内容差异,-3显示队最近的三次更新
commit b1ac9269bae280af2157a7e37c6badb2d8de6bcb (HEAD -> T20181130_SERVER-3047, origin/T20181130_SERVER-3047)
Author: XXX <XXX@XXX.com>
Date:   Mon Jan 14 11:30:46 2019 +0800

commit 973141bbb8efe59c68ab3005e0df73d190113051
Author: XXX <XXX@XXX.com>
Date:   Thu Jan 10 11:49:38 2019 +0800

commit e17ddaa35dff69b5d33c52f8fce7c7faed67427d (master)
Author: XXX <XXX@XXX.com>
Date:   Fri Dec 28 17:02:47 2018 +0800
$ git reset --hard e17ddaa35dff69b5d33c52f8fce7c7faed67427d#回退版本
$ git push -f    #强制提交

6.出现Permanently added the RSA host key for IP address ‘192.168.100.128’ to the list of known hosts
这是一个警告:为IP地址192.30.252.128的主机(RSA连接的)持久添加到hosts文件中
解决办法:

vim /etc/hosts

添加一行:192.168.100.128  github.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值