踩坑篇又来啦,这是我在工作中从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 reset --hard version //version是上图中红线圈出部分,可根据自身情况设置对应的版本号,
//执行完这句命令,你的代码版本就返回了

git工作中常用命令-工作中踩过的坑的更多相关文章

  1. web 架构 /http协议,状态码,django中常用命令

    什么是web应用? web应用 架构 :B/S架构 | C/S架构 网站:BS架构其实就是应用程序: B是浏览器 S是sever(实现了wsgi协议,实现了socket的服务端) + applicat ...

  2. Git的一些常用命令

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...

  3. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  4. Git Bash Here常用命令以及使用步骤

    1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...

  5. My SQL中show命令--MySQL中帮助查看

    My SQL中show命令--MySQL中帮助查看 学习了:http://hahaxiao.techweb.com.cn/archives/477.html 在mysql命令界面内,输入help或者? ...

  6. git 工作中常用命令(结合vscode学习git 命令)

    作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...

  7. Linux工作中常用命令

    1. 搜索 在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位: 在vi和vim界面中输入:"/"(反斜杠),之后会出现一个输入框让 ...

  8. 学习Git过程中常用命令的总结

    复制远程库git clone git@github.com:Hconly/learngit.git在GitHub上,可以任意Fork开源仓库:自己拥有Fork后的仓库的读写权限:可以推送pull re ...

  9. Linux中常用命令(文件与目录)

    1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...

随机推荐

  1. 6 ZigZig Conversion[M]Z字形变换

    题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  2. 后缀自动机 (WJMZBMR讲稿的整理和注释)

    链接放在这里,有点难理解,至少我个人是的. 后缀自动机是一种有限状态自动机,其功能是识别字符串是否是母串的后缀.它能解决的问题当然不仅仅是判断是不是后缀这种事,跟字符串的连续子串有关的问题都可以往这个 ...

  3. mysql学习 2

    1.建立外键 create table <表名>( <字段> 字段类型 not null, <字段> 字段类型 not null, <字段> 字段类型 ...

  4. SQL学习——小结练习(1)

    到处淘来的SQL题 1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       ...

  5. 使用jd-gui+javassist修改已编译好的class文件

    1.原因:因为公司代码管理不当导致源码丢失,只好已编译好的class文件进行修改 2.首先先在myeclipse中新建java项目并导入javassist 3.将需要修改的文件放到指定文件夹下 4.. ...

  6. [BOI2011]MET-Meteors

    题目:洛谷P3527. 题目大意:n个国家在某星球上建立了m个空间站(一个空间站只属于一个国家),空间站围成一个环.现在知道要下k天陨石,每天都在一个区间内下,每个点都下同样多的(若r>l,则说 ...

  7. http://my.oschina.net/joanfen/blog/160156

    http://my.oschina.net/joanfen/blog/160156 http://code4app.com/ios/iOS7-Sampler/5254b2186803faba0d000 ...

  8. poj 2663 Tri Tiling (状压dp+多米诺骨牌问题+滚动数组反思)

    本来直接一波状压dpAC的 #include<cstdio> #include<cstring> #include<algorithm> #define REP(i ...

  9. poi生成word2007及以上文件

    一.简介 对于poi来说,poi可以完成对word.excel.ppt的处理.word目前有两种文件格式,一种是doc后缀.另一种是docx后缀的.2007之前的版本都是doc后缀的,这种格式poi使 ...

  10. [terry笔记]学校管理系统

    如下是要求: # 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上 ...