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安装搭建 ...
随机推荐
- 使用 PyTorch 进行 风格迁移(Neural-Transfer)
1.简介 本教程主要讲解如何实现由 Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的Neural-Style 算法.Neural-Style 或者 ...
- 学界!关于GAN的灵魂七问
根据一些指标显示,关于生成对抗网络(GAN)的研究在过去两年间取得了本质的进步.在图像合成模型实践中的进步快到几乎无法跟上. 但是,根据其他指标来看,实质性的改进还是较少.例如,在应如何评价生成对抗网 ...
- python3读取excel
说明 2007版以前的Excel(xls结尾的),需要使用xlrd读,xlwt写. 2007版以后的Excel(xlsx结尾的),需要使用openpyxl来读写. pypi的地址: https://p ...
- vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称"错误的解决方法
根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示 npm : 无法将"n ...
- Nginx是什么东东?
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- [noip2016]组合数问题<dp+杨辉三角>
题目链接:https://vijos.org/p/2006 当时在考场上只想到了暴力的做法,现在自己看了以后还是没思路,最后看大佬说的杨辉三角才懂这题... 我自己总结了一下,我不能反应出杨辉三角的递 ...
- 【3D】PoseCNN姿态检测网络复现过程记录
最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...
- HDU1166(线段树 +更新单点,求区间总和)、HDU1754(线段树 + 更新单点,求区间最大值)
线段树简单应用 先附上几张图便与理解,大佬文章传送门1.传送门2 HDU1166:题目描述 线段树 +更新单点,求区间总和 代码如下(递归版) #include<iostream> #in ...
- 搭建脚手架cli2.x环境
Vue脚手2.x架环境搭建 一.环境搭建 1.安装node 去官网下载node安装包 傻瓜式安装 万一安装后终端没有node环境,要进行node环境变量的配置 可以通过node提供的npm包管理器安装 ...
- 关于git你日常工作中会用到的一些东西
前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...