关于工作中Git相关的总结
来公司一周多,主要是在熟悉各种环境和流程,而作为研发来讲,git的使用也是必不可少的。以前使用方式单一,几个人对着master,pull和push,来了之后发现其实在日常的开发中,git可以很方便的帮我们进行分工和合并,这里总结一些平时可能会用到的命令和要点:
1. 开发模式:
也了解过,其实部门内部基本上都是分支开发的模式,很少有人做主干开发,这样的好处也是可以保证主干的可持续发布(主干好像是被发布服务Odin接管了)。那现在基本的开发模式(对于我这个单用户来说),是这样的:

可能有些麻烦,但是这样可以保证每次dev更新可以及时合并到本地,并且加了本地dev就不需要远端merge之后立刻拉最新的代码。当然远端会有很多分支,之后开发的版本多了,功能多了,这个图还会再做调成,本地可能也会多一些分支做不同的模块修改。
2. 基本命令
3. Git查看、删除远程分支
查看远程分支
加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话):
$ git branch -a
删除远程分支
在Git v1.7.0 之后,可以使用这种语法删除远程分支:
$ git push origin --delete <branchName>
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :<branchName>
两种语法作用完全相同。
4. git log命令
比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式:
- 查看 dev 有,而 master 中没有的:git log dev ^master
- 同理查看 master 中有,而 dev 中没有的内容:git log master ^dev
7. git reset --hard,--soft,--mixed
举例:
(F)
A-B-C
↑
master
a. 输入git reset --hard,结果会变成:
(F)
A-B
↑
master
C 状态彻底没有,再也找不回来。所以,没事不要用这个命令。
b. 输入了git reset --soft,结果是:
(F)
A-B-C
↑
master
文件状态与分支的指针都指向上一个提交,C 还是在的,只是没显示。
c. 输入 git reset --mixed,结果是:
(F)
A-B-C
↑
master
分支指针指向上次提交点,但是文件状态还是在当前文件 C ,我看到的现象就是 C 文件还在,但是没有 add ,是红色的。
可以看出,三个命令中 mixed 是最好的回退处理方式,其实这也是 git reset 的默认参数。
8. git stash ,git stash pop
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
写在最后:其实慢慢发现git是个设计非常有意思并且东西很多的工具,自己了解的还是很浅显,这只是作为自己的一个命令收录吧,之后用到其他的会不断更新。
关于工作中Git相关的总结的更多相关文章
- Git-【技术干货】工作中Git的使用实践
Git-[技术干货]工作中Git的使用实践 置顶 2019-09-17 21:02:16 web洋仔 阅读数 11444更多 分类专栏: Git 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- 工作中Git使用笔记
git相关说明. //git 安装$ git config --global user.name "xxx"代码提交时的用户名,与GITLAB注册用户名建议保持一致$ git co ...
- 工作中git常用命令
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px "PingFang SC" } ...
- 工作中git 操作汇总
1. git branch -l 查看本地branch 2. git reset --hard 回滚全部修改 3. git status 查看本地修改 4. git pull 更新代码 5. gi ...
- 记录工作中linux相关操作
在项目部署之后,查看日志能查看部署结果是否正确部署. 最开始查看日志我会使用cat service.log tail -f service.log vim service.log 打开日志之后 /+查 ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- 关于git你日常工作中会用到的一些东西
前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...
- git在工作中的用法总结-使用篇
上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...
- 工作中常用的Git操作--------(一)
今天主要记录一下平常工作当中使用的git操作: 1.git的安装这里省略: 2.git的操作指令: 在项目开发中,经常是拉去经理已经搭建好的一个项目,也就是给我们一个git地址.比如:http://g ...
随机推荐
- char数组中除去某个元素
/* 本程序说明: char数组中除去某个元素(其实就是strcpy源码的变形) */ #include <iostream> #include <cassert> #incl ...
- [Python Study Notes]字符串操作
字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name #输出: i am liu PS: 字符 ...
- WPF---Xaml中改变ViewModel的值
在开发中遇到实现如下需求的情景:一个输入框,旁边一个清空输入的按钮,当输入框中有内容时显示清空按钮,点击该按钮可以清空输入框内容,当输入框中无内容时隐藏按钮 当然这个需求使用wpf的绑定功能很容易实现 ...
- LNMP搭建01 -- 编译安装MySQL 5.6.14 和 LNMP相关的区别
[编译安装MySQL 5.6.14] [http://www.cnblogs.com/xiongpq/p/3384681.html ] [mysql-5.6.14.tar.gz 下载] http:/ ...
- Linux 自定义命令
在某个用户的家目录下 的 .bashrc 文件,写入如下内容: # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . ...
- C++ 函数模板“偏特化”
模板是C++中很重要的一个特性,利用模板可以编写出类型无关的通用代码,极大的减少了代码量,提升工作效率.C++中包含类模板.函数模板,对于需要特殊处理的类型,可以通过特化的方式来实现特定类型 ...
- Java经典编程题50道之四十六
编程实现两个字符串的连接. public class Example46 { public static void main(String[] args) { addString( ...
- 对TCP三次握手四次分手还不清楚的速度进,超简单解析,明白了就很好记!
关于TCP三次握手四次分手,之前看资料解释的都很笼统,很多地方都不是很明白,所以很难记,前几天看的一个博客豁然开朗,可惜现在找不到了.现在把之前的疑惑总结起来,方便一下大家. 先上个TCP三次握手和四 ...
- break的标签的用法
package study; public class breakdemo { public static void main(String[] args) { System.out.println( ...
- mysql2 - 基础
一.SQL 练习 在java1701下,创建Stuednt 表,并插入以下数据: 增加创建时间字段,如下: 更改所有时间为当前时间: 二.数据库基础知识 1. 关系模型 1.1 表 table.列 c ...