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. 使用 PyTorch 进行 风格迁移(Neural-Transfer)

    1.简介 本教程主要讲解如何实现由 Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的Neural-Style 算法.Neural-Style 或者 ...

  2. 学界!关于GAN的灵魂七问

    根据一些指标显示,关于生成对抗网络(GAN)的研究在过去两年间取得了本质的进步.在图像合成模型实践中的进步快到几乎无法跟上. 但是,根据其他指标来看,实质性的改进还是较少.例如,在应如何评价生成对抗网 ...

  3. python3读取excel

    说明 2007版以前的Excel(xls结尾的),需要使用xlrd读,xlwt写. 2007版以后的Excel(xlsx结尾的),需要使用openpyxl来读写. pypi的地址: https://p ...

  4. vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称"错误的解决方法

    根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示 npm : 无法将"n ...

  5. Nginx是什么东东?

    Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...

  6. [noip2016]组合数问题<dp+杨辉三角>

    题目链接:https://vijos.org/p/2006 当时在考场上只想到了暴力的做法,现在自己看了以后还是没思路,最后看大佬说的杨辉三角才懂这题... 我自己总结了一下,我不能反应出杨辉三角的递 ...

  7. 【3D】PoseCNN姿态检测网络复现过程记录

    最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...

  8. HDU1166(线段树 +更新单点,求区间总和)、HDU1754(线段树 + 更新单点,求区间最大值)

    线段树简单应用 先附上几张图便与理解,大佬文章传送门1.传送门2 HDU1166:题目描述 线段树 +更新单点,求区间总和 代码如下(递归版) #include<iostream> #in ...

  9. 搭建脚手架cli2.x环境

    Vue脚手2.x架环境搭建 一.环境搭建 1.安装node 去官网下载node安装包 傻瓜式安装 万一安装后终端没有node环境,要进行node环境变量的配置 可以通过node提供的npm包管理器安装 ...

  10. 关于git你日常工作中会用到的一些东西

    前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...