原文参考: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

     

最新文章

  1. R 培训之 Table
  2. Testing with a mocking framework (EF6 onwards)
  3. HDU 2007
  4. C++异常层次结构图
  5. codeforces732D 二分加贪心。。
  6. [Android] 关于系统工具栏和全屏沉浸模式
  7. leetcode 题解:Remove Duplicates from Sorted Array(已排序数组去重)
  8. Lua学习笔记(二):基本语法
  9. CentOS命令行无线上网
  10. mini2440 MJPG_STREAMER 产生问题
  11. 我的学习记录JAVA第二天
  12. 深入理解ES6之—增强的数组功能
  13. [SCOI2010]生成字符串
  14. jemter聚合报告参数指标
  15. Python Kivy writes / read the file on the SD card
  16. 正确开启Mockjs的三种姿势:入门参考(一)
  17. vue 自学笔记(4): 样式绑定与条件渲染
  18. Python内置类型(4)--数值
  19. jquery----语法扩展(导入js文件)
  20. laravel查找某个类拥有的方法:

热门文章

  1. LeetCode-Evaluate Reverse Polish Notation[AC源码]
  2. Linux下打包压缩war和解压war包 zip和jar
  3. ZOJ 3774 二次剩余
  4. CF767 C.Garland DFS
  5. What are the advantages of different classification algorithms?
  6. (4.2)基于LingPipe的文本基本极性分析【demo】
  7. Mock InjectMocks ( @Mock 和 @InjectMocks )区别
  8. 【leetcode 简单】第十六题 二进制求和
  9. TypeScript在react项目中的实践
  10. Dull Chocolates Gym - 101991D 离散化 前缀和