git合并分支理解和常用命令的总结
原文参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
工作区和暂存区
工作区有一个隐藏目录 .git是git版本库。git版本库里有stage暂存区。
git命令
git版本库的添加
git add 将工作区内容添加到暂存区。
git commit 将暂存区内容添加到分支(如master)。
git 查看状态:git status
git撤销修改:git checkout --file
删除文件:git rm file
查看命令:git --help
抛弃工作区修改:git co -- file
从暂存区恢复到工作文件,恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改:git reset --hard
比较当前文件和暂存区文件差异: git diff
查看该文件每次提交记录:git log
分支管理
git每次提交被串成一条时间线。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
①新建分支并切换到该分支:git checkout -b dev
② 新建分支并切换到该分支:git brach dev
git checkout dev
不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动,而master指针不变:
在dev分支 git add ;git commit 后git checkout master 切换分支到master。
假如我们在dev上的工作完成了,就可以把dev合并到master上。最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:
把dev分支的工作切换到master ,git merge dev
最新文章
- R 培训之 Table
- Testing with a mocking framework (EF6 onwards)
- HDU 2007
- C++异常层次结构图
- codeforces732D 二分加贪心。。
- [Android] 关于系统工具栏和全屏沉浸模式
- leetcode 题解:Remove Duplicates from Sorted Array(已排序数组去重)
- Lua学习笔记(二):基本语法
- CentOS命令行无线上网
- mini2440 MJPG_STREAMER 产生问题
- 我的学习记录JAVA第二天
- 深入理解ES6之—增强的数组功能
- [SCOI2010]生成字符串
- jemter聚合报告参数指标
- Python Kivy writes / read the file on the SD card
- 正确开启Mockjs的三种姿势:入门参考(一)
- vue 自学笔记(4): 样式绑定与条件渲染
- Python内置类型(4)--数值
- jquery----语法扩展(导入js文件)
- laravel查找某个类拥有的方法:
热门文章
- LeetCode-Evaluate Reverse Polish Notation[AC源码]
- Linux下打包压缩war和解压war包 zip和jar
- ZOJ 3774 二次剩余
- CF767 C.Garland DFS
- What are the advantages of different classification algorithms?
- (4.2)基于LingPipe的文本基本极性分析【demo】
- Mock InjectMocks ( @Mock 和 @InjectMocks )区别
- 【leetcode 简单】第十六题 二进制求和
- TypeScript在react项目中的实践
- Dull Chocolates Gym - 101991D 离散化 前缀和