踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法。

1、基于远程develop分支,建一个本地task分支,并切换到该task分支

git checkout -b task-110 origin/develop
//此处是一句就完成,而很多刚入门的小伙伴经常直接使用
git branch task-110
git checkout task-110
//但是此时只是在本地建了一个分支,并没有与远程库中的分支关联,还需执行
git branch --set-upstream task-110 origin/task-110
//此时才将本地的task-110与远程的task-110关联
//接下来,小伙伴就可以在该分支上写代码,并push,然后merger request ,你的leader检查你的代码,并给你合并到develop分支上
2、建完分支,小伙伴们写完任务,就是要提交该任务了
提交的步骤,一般如下
git status //检查你的代码,看一下被修改的文件是否都是你修改的
//如果此时你想查看你修改了哪些地方
git diff
//如果你只是想查看某个文件的修改地方
git diff path//path是你要查看的文件地址
//检查完代码,就要提交啦
git add .
//如果你只想提交指定的文件
git add path
//然后就是commit
git commit -m '你的提交说明'
//接下来在你提交之前,你要拉一下最新的代码,防止当前你的代码版本不是最新的,因为在你修改代码的过程中,会有其他小伙伴提交新的代码哦
git pull --rebase origin develop//使用--rebase是可以拉最新的代码并跟你本地代码融合,而不是直接pull 直接新的代码覆盖你的本地代码,这样防止你的修改过的代码被覆盖。
//如果此时,你拉下来的代码出现冲突,
git status //查看冲突文件,然后找到这些文件,一一解决冲突
git add .//将这些解决过的冲突,add到本地仓库
git rebase --continue //代表更新代码继续
//然后就可以提交你的代码啦
git push origin task-110

3、当然啦,如果你在add 发现你的代码不对,后悔了,想撤销,还是有机会的

 gir reset head //执行这句话就可以了
//如果你是在commit之后想撤销,那也是可以的
git log //找到你提交的版本的上一个版本号,并复制下来
git reset --soft 上一个版本号//这句话的意思是,返回到上一个版本,同时不撤销当前修改过中的代码。这样你就把你的commit撤销了,并且代码还存在

4、第四点是,一般工作中,远程库会有一个开发分支,一个生产分支。

如果有紧急bug需要修复,则要先在develop(开发分支)分支修复提交测试,然后再将该分支代码提交到release(生产分支)上。

为了避免重复改代码并提交,有一个命令,可以直接将你的需要上线的版本代码,复制到另一个分支上:git cherry-pick 版本号

//该情况,就是再线上分支(假设是release)建一个分支
然后在该分支上cherry-pick你develop上提交的版本号即可,
但是切记,再release上新建分支后,要先拉一下最新代码,再cherry-pick,避免代码不是最新版本而起冲突(
如果有冲突,那就淡定解决,解决方案:
1.先将代码中有冲突的部分修改好,
2.执行:git add .
3.执行 git cherry-pick --continue
4.此时灰烬入到一个shell命令面板中,直接执行 :wq 就可退出
5.冲突解决啦
)

5.查看git操作记录,并返回到操作前的版本

git reflog //可以查看到最近一段时间的操作记录

git工作中常用命令-工作中踩过的坑-LMLPHP

git reset --hard version //version是上图中红线圈出部分,可根据自身情况设置对应的版本号,
//执行完这句命令,你的代码版本就返回了
05-06 11:08