git分支,git commit,git流程
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流程的更多相关文章
- 『现学现忘』Git分支 — 38、Git分支介绍
目录 1.Git分支简介 2.Git分支与SVN分支的区别 3.工作中为什么要使用分支 4.Git分支管理的好处 1.Git分支简介 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着,你可 ...
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮 ...
- 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details ...
- 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题
1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...
- 『现学现忘』Git分支 — 39、Git中分支与对象的关系
目录 1.Git对象之间的关系 2.提交对象与分支的关系 (1)提交对象与分支的关系 (2)分支说明 (3)HEAD与分支的关系 1.Git对象之间的关系 我们之前学了Git的三个对象:提交对象.树对 ...
- IDEA checkout Git 分支 弹出 Git Checkout Problem
1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未 ...
- 开发与测试整体过程中的Git分支merge流程
开发与测试整体过程中的Git分支merge流程 Git分支merge之开发流程 首先在Gitlab上有个仓库存储着原始的项目代码,其中包含一个叫master的分支.然后可能按功能进行分配,由不同的开发 ...
- Git详解之三 Git分支
相关文档 — 更多 Git 基础培训.ppt GIT 使用经验.ppt GIT 介绍.pptx GIT 分支管理是一门艺术.docx Eclipse上GIT插件EGIT使用手册.docx git/gi ...
- Git 分支开发规范
您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...
- Git分支及其协同开发
目录 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLub安装搭建 ...
随机推荐
- UTF-8 AND UTF-8 without BOM(遇到了这个问题 郁闷了会儿)
两者的区别: Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WID ...
- OpenCV-Python 图像阈值 | 十五
目标 在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值. 你将学习函数cv.threshold和cv.adaptiveThreshold. 简单阈值 在这里,问题直截了当.对于每个像素,应用相同 ...
- 热点 | github近期热点项目汇总
本文是近期Github热点项目的汇总,如果你想了解更多优秀的github项目,请关注我们公众号的github系列文章. 推荐 | 7个你最应该知道的机器学习相关github项目 热点 | 六月Gith ...
- POJ - 3468 线段树单点查询,单点修改区间查询,区间修改模板(求和)
题意: 给定一个数字n,表示这段区间的总长度.然后输入n个数,然后输入q,然后输入a,b,表示查询a,b,区间和,或者输入c 再输入三个数字a,b,c,更改a,b区间为c 思路: 线段树首先就是递归建 ...
- 16.如何查找所需的maven的依赖
http://mvnrepository.com/ 1.先打开上面的网址 搜索需要的依赖,点进去 2.选择需要的版本 3.红框中的就是依赖的地址 此外也有其他自动化构建工具所需要的地址
- Python数据库MySQL之数据备份、pymysql模块
一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...
- P1006 传纸条(二维、三维dp)
P1006 传纸条 输入输出样例 输入 #1 复制 3 3 0 3 9 2 8 5 5 7 0 输出 #1 复制 34 说明/提示 [限制] 对于 30% 的数据,1≤m,n≤10: 对于 100% ...
- 自动下载bing当日墙纸,并改变为gnome桌面壁纸
写了一个手动白嫖当时bing的当日壁纸,并将其改变为gnome的壁纸,还是学到蛮多东东的 下一步的问题是加入到开机自启动项,使得开机后可以自动更新,目前已看到几篇博客 当然,也写了一个脚本使得可以恢复 ...
- 根据域名查注册人信息,查询邮箱下注册过哪些IP,社工渗透,获取个人信息
根据域名查询注册人信息 举个例子.随便找一个网站 iappp.cn 通过whois查询,得到以下信息 我们可以得知这个域名的注册商(腾讯云),以及注册人真实姓名(也有可能是假的),还有注册人邮箱等等一 ...
- Redis系列(五):Redis的过期键删除策略
本篇博客是Redis系列的第5篇,主要讲解下Redis的过期键删除策略. 本系列的前4篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数 ...