1.通用介绍:
找已有资料
工作区(你编辑的地方)、暂存区(stash/add提交的地方)、本地git仓储(commit提交的地方)、远端git存储(push的地方)
注意:stash、add提交是否在一个地方需要待确认!
2.常用命令:
2.1提交类:
- add
- commit
- push
2.2同步下载类
- pull
- fetch
2.3合并:
- merge
- cherry-pick(同步某个版本的合并,常用与回退后,跳过某坏提交版本)
2.4分支管理:
- branch(查看当前分支、创建分支)
- checkout(切换分支)
- rebase(为了减少提交次数弄得命令,改变master的指向)
- stash(当本地版本修改部分,又要切换版本工作时,经常使用此命令)
2.5补丁管理:
- format-patch: 生成补丁
- am: 批量处理补丁
- git apply –reject patch : 根据生成的*.rej文件,管理
2.6其他:
- reset (慎用reset --hard,一般不增加参数的是reset --mix,回退暂存区)
- rev-parse
- log
- descripte
- tag(要经常打tag,可以删除的)
3.现场运维流程:
本章节只针对涉及bug修改的多方同步方法:
因代码管理问题,git版本机不在同一网络,需要手动的同步代码,以下介绍此方案
3.1基础命令:
3.1.1打包:
git format-patch 版本N..to版本M
版本N: 为提交时生成的sha1串
3.1.2升级:
方法1:批量升级cat *.patch |git am
方法2:手动一次升级 patch -p1 < 00XX...patch
3.1.3.冲突解决:
参考:
------------------------------------------------------
git am patch –> 没有conflict,over!
有冲突的时候: cd code_root/
git apply –reject patch
在.rej文件里找见冲突的diff段,手动修改对应的代码
git add related_files
git am –resolved
————————————————
版权声明:本文为CSDN博主「sherlock-wang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/scarecrow_byr/article/details/79676370
--------------------------------------------------------------
3.2工作流程:
A地创建解决bug的分支hotbug_issueXXX:并编辑、解决bug,当验证通过后,发布补丁包,包含分支创建到fix的所有commit提交,一次commit会对应一个patch文件,并发布到git中
Tips:XXX为bug编号
B地解决其他的bug或新特性。bug需要与A地同步,新特性定期同步
bug同步:拿到A地的patch文件后,升级并解决冲突;解决完毕后,发布本地bug的patch文件,并解决冲突,解决后,删除分支。(属于git-flow?or github-flow?)
待补充