git——基本概念

来源:互联网 发布:mac可以用搜狗输入法吗 编辑:程序博客网 时间:2024/05/17 21:38

一、引言


理解git首先要对它自己的主要概念理解清楚,这个我看了一边后又重新梳理了一边思路,提取了几个自己很容易误解和难区分的概念,在这里详细介绍下==


二、工作区与暂存区


工作区:就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区。


暂存区:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。


提交过程:

  • 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;



  • 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。


因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。



三、版本与分支


分支之下有版本,分支有合并,版本没有合并,push与pull只会涉及分支不会涉及版本。 这个灰常重要。分支切换用checkout,版本切换用reset


版本:在同一个分支上的不同版本,版本之间可以相互切换,版本对应的是修改,不是对应文件。


分支:你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

其他版本控制系统如SVN等都有分支管理,但是用过之后你会发现,这些版本控制系统创建和切换分支比蜗牛还慢,简直让人无法忍受,结果分支功能成了摆设,大家都不去用。


四、分支合并


  • 创建分支dev

$ git checkout -b dev


  • commit分支dev

$ git add readme.txt $ git commit -m "branch test"

  • 切换分支

$ git checkout master


  • 合并分支到当前分支

$ git merge dev


期间你可以用git branch查看有那些分支




五、总结


  • 工作区与暂存区

  • 版本与分支

  • 分支合并



原创粉丝点击