踩坑篇又来啦,这是我在工作中从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. crawler4j图片爬虫

    该实例主要演示下如何爬取指定网站的图片: 代码中有详细注释: 首先写一个ImageCrawler类: package com.demo.imageCrawler4j; import java.io.F ...

  2. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  3. [转]java多线程并发去调用一个类的静态方法安全性探讨

    文章转自:https://blog.csdn.net/weibin_6388/article/details/50750035 这篇文章主要讲多线程对静态方法访问的数据安全性 总结如下: 1,java ...

  4. 下拉列表的使用(Ajax/数据联动)

    下拉列表联动

  5. 自动刷github提交记录

    前言 进入自己github主页会看到自己的提交记录,如果某天没有提交记录,那天的小方框就显示灰色.强迫症的我,每次进来看着就感觉不爽, 想着自己每天记得提交点东西,争取像阮一峰大神一样,每天都有提交记 ...

  6. POJ 1611 The Suspects【并查集】

    解题思路:一共给出 n个人,m组,接下来是m组数据,每一组开头是该组共有的人 num,则接下来输入的num个数,这些数是一组的 又因为最开始只有编号为0的人携带有病毒,且只有同一组的人会相互传染,问最 ...

  7. 3D立体方块旋转图册

    代码可直接复制使用看效果 这个文章参考了Lazy.Cat的文章:https://www.cnblogs.com/Lazy-Cat/p/9750244.html,大家也可以去看看,他讲的还是比较详细的. ...

  8. 51nod 1392 装盒子(费用流)

    如果权值为\(1\)就是最长反链. 然而并不是.考虑用费用流. 把每一个盒子\(i\)拆成i和\(i+n\). 设源点为\(S\),汇点为\(T\). \(S\)向每一个i连容量为\(1\),费用为\ ...

  9. [洛谷P3697]开心派对小火车

    题目:洛谷P3697 题目大意是有各站停列车(慢车,相邻2站时间A)和特急列车(相邻2站时间B),特急列车在特定站点停靠. 现在加一种快速列车(相邻2站时间C,A>C>B),停靠K站(包括 ...

  10. 在centos里安装Nginx

    (1)下载Nginx的RPM包 wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx ...