1. git分支命令规范

1. Master 主分支
2. Dev 开发分支
3. Feature 功能分支(例如:feature-x)
4. Release 预发布分支(例如:release-1.2)
5. Bug 分支(例如:fixbug-0.1)

2. git中commit规范

git add后,如果没有特性描述要添加则直接执行git commit。否则使用git commit -m <mess>

格式:
<type>(<scope>):<subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
说明:type表示提交类别,scope表示修改范围,subject表示标题行,body表示主体描述内容。 具体:
1. type(必须,有以下选项)
* feat:添加新特性
* fix:修复bug
* docs:仅仅修改了文档
* style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
* refactor: 代码重构,没有加新功能或者修复bug
* perf: 优化相关,比如提升性能、体验
* test: 增加测试用例
* chore: 改变构建流程、或者增加依赖库、工具等
* revert: 回滚到上一个版本 2. scope(非必须,用于说明commit影响的范围,建议填写影响的功能模块,如果影响的不止一个scope,可以用星号*代替) 3. subject(必须,以动词开头,使用第一人称现在时。比如change,而不是changed或changes, 第一个字母小写结尾不加句号)

3. 创建版本库

 mkdir learngit
cd learngit
pwd
git init (initalized empty Git repository in ...)
ls -ah ##(查看隐藏文件)
touch readme.txt
vim readme.txt
i
Git is a vertion system.
Git is free software.
##(按下 Esc)
:wq
git add readme.txt
git commit -m "wrote a readme file"
vim readme.txt
i
modify
##(按下 Esc)
:wq
git add readme.txt
git commit -m "append modify 2"

4. 时光机穿梭/版本回退

 git status
git diff ##(查看工作区与暂存区的所有差异)(工作区即git所在的文件夹,暂存区为git add后没commit的区域)
git diff HEAD readme.txt ##(查看文件readme.txt工作区与暂存区的的差异)
git log ##(查看历史记录)
git log --pretty=oneline ##(查看历史记录简单显示)
git reset --hard HEAD^ ##(回退到上一个版本)
git reset --hard 1094a ##(回退到1094a这个版本)
git reflog ##(记录所有使用过的版本命令)

5. 撤销修改

 git checkout -- readme.txt   (撤销工作区的修改)(若没有放入暂存区则直接撤销回到版本库一模一样,若添加到暂存区则撤销到暂存区的状态)
git reset HEAD readme.txt (git add后没有commit,可以撤销放入暂存区状态重新放回工作区)

6. 删除文件

git add test.txt
git commit -m "add test.txt"
rm test.txt
git status
## 选择1
git rm test.txt (从git中删除这个文件)
git commit -m "remove test.txt"
## 选择2
git checkout -- test.txt (撤销误删,也就是撤销工作区删除文件的修改)

7. 绑定远程仓库

 ssh-keygen -t rsa -C "youremail@example.com"
回车 回车 (会在用户目录生成一个.ssh文件夹
登录github,打开Account setttings,SSH Keys页面,
新增一个SSH key,title随便取,在key文本框里粘贴id_rsa.pub里的内容)

8. 添加远程库

 git remote rm origin (如果之前有关联过其它的origin了就要执行这一步,没有就跳过)
git remote add origin https://github.com/812781386/learngit.git
git push -u origin master
git remote (查看远程库信息)
git remote -v (查看更详细的远程库信息)

9. 分支管理

 git branch  (查看分支)
git branch dev (创建dev分支)
git checkout dev (切换到dev分支)
git checkout -b dev (创建并切换到dev分支)
git merge dev (把dev分支合并到当前所在分支)
git branch -d dev (删除dev分支)

10. bug分支 (当前的编码不提交先保存起来,然后去创建新分支优先修改bug)

 git status  (发现有modified)
git stash (把当前工作现场储存起来)
git status (发现当前 工作区是干净的了)
git checkout master (去master上去修复bug)
git checkout -b issure-
vim readme.txt (修改Git is free software 为 Git is a free software)
git add .
git commit -m "fix bug 101"
git checkout master
git merge --no-ff --m "merged bug fix 101" issure- (--no-ff --m表示不使用快速合并,并写入commit)
git checkout devlop
git stash list (查看储存)
git stash pop (恢复同时把stash内容删除)
git stash apply (恢复)
git stash drop (删除)
git stash apply stash@{} (恢复指定的stash)

11. 多人协作

 git push origin dev   (向远程库推送dev分支,远程库没有dev分支)

12. 修改仓库名

 git branch -m feature-user-management    (feature-user-management新的仓库名)

13. 冲突

 修改了同一个文件:
git pull
git status
.git merge --abort (终止合并)
.git commit -a (强行合并并提交,不要用)
.git add . (强行合并并提交,也不要用)
.vim readme.txt, 手动修改

14. 合并

 git checkout -b feature1
vim readme.txt
(修改一下后保存)
git add reamde.txt
git commit -m "this is reature1"
git checkout master
vim readme.txt
(修改一下后保存)
git add readme.txt
git commit -m "this is master"
git merge feature1
git status
vim readme.txt
(手动修改冲突)
git add readme.txt
git commit -m "conflict fixed"
git log --graph --pretty=oneline --abbrev-commit (查看分支合并情况)

15. 退出

 当使用git logs时,窗口显示滚动,按q 退出
git push -f (强制提交)

git分支,git commit,git流程的更多相关文章

  1. 『现学现忘』Git分支 — 38、Git分支介绍

    目录 1.Git分支简介 2.Git分支与SVN分支的区别 3.工作中为什么要使用分支 4.Git分支管理的好处 1.Git分支简介 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着,你可 ...

  2. GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮 ...

  3. 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details ...

  4. 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

    1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...

  5. 『现学现忘』Git分支 — 39、Git中分支与对象的关系

    目录 1.Git对象之间的关系 2.提交对象与分支的关系 (1)提交对象与分支的关系 (2)分支说明 (3)HEAD与分支的关系 1.Git对象之间的关系 我们之前学了Git的三个对象:提交对象.树对 ...

  6. IDEA checkout Git 分支 弹出 Git Checkout Problem

    1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未 ...

  7. 开发与测试整体过程中的Git分支merge流程

    开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...

  8. Git详解之三 Git分支

    相关文档 — 更多 Git 基础培训.ppt GIT 使用经验.ppt GIT 介绍.pptx GIT 分支管理是一门艺术.docx Eclipse上GIT插件EGIT使用手册.docx git/gi ...

  9. Git 分支开发规范

    您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...

  10. Git分支及其协同开发

    目录 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLub安装搭建 ...

随机推荐

  1. UTF-8 AND UTF-8 without BOM(遇到了这个问题 郁闷了会儿)

    两者的区别: Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WID ...

  2. OpenCV-Python 图像阈值 | 十五

    目标 在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值. 你将学习函数cv.threshold和cv.adaptiveThreshold. 简单阈值 在这里,问题直截了当.对于每个像素,应用相同 ...

  3. 热点 | github近期热点项目汇总

    本文是近期Github热点项目的汇总,如果你想了解更多优秀的github项目,请关注我们公众号的github系列文章. 推荐 | 7个你最应该知道的机器学习相关github项目 热点 | 六月Gith ...

  4. POJ - 3468 线段树单点查询,单点修改区间查询,区间修改模板(求和)

    题意: 给定一个数字n,表示这段区间的总长度.然后输入n个数,然后输入q,然后输入a,b,表示查询a,b,区间和,或者输入c 再输入三个数字a,b,c,更改a,b区间为c 思路: 线段树首先就是递归建 ...

  5. 16.如何查找所需的maven的依赖

    http://mvnrepository.com/ 1.先打开上面的网址 搜索需要的依赖,点进去 2.选择需要的版本 3.红框中的就是依赖的地址 此外也有其他自动化构建工具所需要的地址

  6. Python数据库MySQL之数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  7. P1006 传纸条(二维、三维dp)

    P1006 传纸条 输入输出样例 输入 #1 复制 3 3 0 3 9 2 8 5 5 7 0 输出 #1 复制 34 说明/提示 [限制] 对于 30% 的数据,1≤m,n≤10: 对于 100% ...

  8. 自动下载bing当日墙纸,并改变为gnome桌面壁纸

    写了一个手动白嫖当时bing的当日壁纸,并将其改变为gnome的壁纸,还是学到蛮多东东的 下一步的问题是加入到开机自启动项,使得开机后可以自动更新,目前已看到几篇博客 当然,也写了一个脚本使得可以恢复 ...

  9. 根据域名查注册人信息,查询邮箱下注册过哪些IP,社工渗透,获取个人信息

    根据域名查询注册人信息 举个例子.随便找一个网站 iappp.cn 通过whois查询,得到以下信息 我们可以得知这个域名的注册商(腾讯云),以及注册人真实姓名(也有可能是假的),还有注册人邮箱等等一 ...

  10. Redis系列(五):Redis的过期键删除策略

    本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略. 本系列的前4篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数 ...