1. 本地存在多个commit:
【场景】代码和远程仓库一致,本地修改后,存在多次本地commit,直接push最新的提交,push成功,但本地多次commit记录也会记录到远程仓库中
【举例】第一次提交:添加File1文件,文件内容666666
第二次提交: 添加File2文件,文件内容888888,修改File1内容
2. 远程仓库代码回退:
先本地版本回退:git reset commitid
本地回退版本强推远程仓库:git push -f
3. rebase操作:
【场景】代码和远程仓库一致,本地修改后存在多次本地commit,本地多次提交的代码没有冲突,rebase合并本地多次commit
【举例】如1中例子,第二次提交为最新提交,希望只保留第二次提交
【操作】3-1. git rebase -i commitid
3-2. 之后会进入类似vim的编辑器(i插入修改,修改完:wq保存)
pick:表示需要提交的commit记录|squash:表示合并到前一个commit
reword:使用本次提交,但修改commit信息
3-3. 之后会进入提交信息编辑页,修改保存,rebase完毕,合并成功
【注意】 命令中commitid是两次提交的前一个commitid
第一个pick不可修改,可以将后面的squash
如果页面显示noop,就是你的commitid选的是最新提交的commit,这样是不对的
4. push冲突
【场景】本地commit了,但在push之前,远程代码被别人修改过了,代码冲突的情况处理
【举例】添加一个File3,提交前手动修改远程仓库代码(模拟别人提交修改了远程仓库代码),远程仓库代码被修改后,本地push
【操作】4-1. 添加File3
4-2. 修改远程仓库代码
4-3. 本地push代码,提示冲突,选择Merge,直接push成功
4-4 . Merge后推送到远端有两条commit(因为这次push只修改了File3,并没有修改File1,Merge后相当于先拉取代码再提交,所以直接push成功)
【举例】添加一个File3,并修改File1,提交前手动修改远程仓库代码(模拟别人提交修改了远程仓库代码),远程仓库代码被修改后,本地push需要手动解决冲突。
【操作】4-a. (版本回退后)添加File3,修改File1
4-b. 修改远程仓库代码
4-c. 本地push代码,提示冲突,选择Merge后手动解决冲突
Accept Yours: 该文件选择你的版本合并到远端
Accept Theirs: 该文件选择远端的版本,即放弃该文件的修改
Merge :对比本地和远端的差异,手动解决冲突,一般都Merge
左边是本地的修改,右边是远端的代码,中间是最终推送远端
看情况对比修改
修改确认后可能会出现push被拒绝,再重新提交一次就好了。
【建议】本地先拉取代码,如果冲突手动解决冲突,然后再push
【注意】没有commit就拉取代码,并且Accept Theris,可能会把本地修改过的代码覆盖掉,导致修改的代码丢失,注意备份。
-------------------------------------------------想到别的场景后续再补充------------------------------------------------------------
总结
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 群星.1993-开心跳不停【华纳】【WAV+CUE】
- 【原神】枫丹宝箱攻略 | 古旧的铭刻、钟楼
- 【原神】V4.6隐藏成就 | 时间的神秘形式
- 【原神】V4.6角色攻略 | 可莉培养攻略
- 决胜巅峰玛蒂尔达怎么样 技能效果一览
- 射雕手游朱门安甜贫者道寒成就怎么获得
- PUBG官方确认5月14日回归经典艾伦格地图
- 物华弥新迷踪盘第14关怎么过 迷踪盘第14关通关方法
- 逆水寒手游1.3.2馆藏上新介绍 逆水寒手游馆藏更新了什么
- 物华弥新迷踪盘第1关怎么过 迷踪盘第1关通关方法
- win7没密钥怎么永久激活,w7系统激活密钥一键激活方法
- 怎么安装电脑系统版本,怎么安装电脑的系统
- 苹果电脑wps安装字体,苹果电脑wps怎么设置字体
- 活力美少女!《摇曳露营△》各务原抚子&志摩凛手办
- 《哥斯拉大战金刚2》票房破9亿 观影人次达2100万!