git工作中常用命令-工作中踩过的坑
踩坑篇又来啦,这是我在工作中从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工作中常用命令-工作中踩过的坑的更多相关文章
- web 架构 /http协议,状态码,django中常用命令
什么是web应用? web应用 架构 :B/S架构 | C/S架构 网站:BS架构其实就是应用程序: B是浏览器 S是sever(实现了wsgi协议,实现了socket的服务端) + applicat ...
- Git的一些常用命令
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- Git Bash Here常用命令以及使用步骤
1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...
- My SQL中show命令--MySQL中帮助查看
My SQL中show命令--MySQL中帮助查看 学习了:http://hahaxiao.techweb.com.cn/archives/477.html 在mysql命令界面内,输入help或者? ...
- git 工作中常用命令(结合vscode学习git 命令)
作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...
- Linux工作中常用命令
1. 搜索 在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位: 在vi和vim界面中输入:"/"(反斜杠),之后会出现一个输入框让 ...
- 学习Git过程中常用命令的总结
复制远程库git clone git@github.com:Hconly/learngit.git在GitHub上,可以任意Fork开源仓库:自己拥有Fork后的仓库的读写权限:可以推送pull re ...
- Linux中常用命令(文件与目录)
1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...
随机推荐
- 6 ZigZig Conversion[M]Z字形变换
题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...
- 后缀自动机 (WJMZBMR讲稿的整理和注释)
链接放在这里,有点难理解,至少我个人是的. 后缀自动机是一种有限状态自动机,其功能是识别字符串是否是母串的后缀.它能解决的问题当然不仅仅是判断是不是后缀这种事,跟字符串的连续子串有关的问题都可以往这个 ...
- mysql学习 2
1.建立外键 create table <表名>( <字段> 字段类型 not null, <字段> 字段类型 not null, <字段> 字段类型 ...
- SQL学习——小结练习(1)
到处淘来的SQL题 1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 ...
- 使用jd-gui+javassist修改已编译好的class文件
1.原因:因为公司代码管理不当导致源码丢失,只好已编译好的class文件进行修改 2.首先先在myeclipse中新建java项目并导入javassist 3.将需要修改的文件放到指定文件夹下 4.. ...
- [BOI2011]MET-Meteors
题目:洛谷P3527. 题目大意:n个国家在某星球上建立了m个空间站(一个空间站只属于一个国家),空间站围成一个环.现在知道要下k天陨石,每天都在一个区间内下,每个点都下同样多的(若r>l,则说 ...
- http://my.oschina.net/joanfen/blog/160156
http://my.oschina.net/joanfen/blog/160156 http://code4app.com/ios/iOS7-Sampler/5254b2186803faba0d000 ...
- poj 2663 Tri Tiling (状压dp+多米诺骨牌问题+滚动数组反思)
本来直接一波状压dpAC的 #include<cstdio> #include<cstring> #include<algorithm> #define REP(i ...
- poi生成word2007及以上文件
一.简介 对于poi来说,poi可以完成对word.excel.ppt的处理.word目前有两种文件格式,一种是doc后缀.另一种是docx后缀的.2007之前的版本都是doc后缀的,这种格式poi使 ...
- [terry笔记]学校管理系统
如下是要求: # 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上 ...