Git 使用的一些我的理解

最近在学习git的使用,有一些我的的理解,写出来和你们一块儿分享。git

分一下几点缓存

  1. Git介绍/认识Git
  2. 经常使用命令
  3. SourceTree工具的使用

1、什么是Git

用最多见的描述来讲,Git是一个分布式版本控制系统,我的以为这个说法虽然彻底正确,可是有点难理解,与其说是分布式不如换一个字,叫分散式版本控制系统。这也是Git和SVN最大的区别了,SVN你们都很熟悉,它是中心式的,代码是统一维护在服务器端的仓库中的,而Git虽然也有中心式版本库或者服务器,可是还多出来了一个本地仓库(local repository)的概念。服务器

我理解为在本地搭建了一个相似SVN的服务器,我本身的代码能够往这个本地仓库提交而不会对其余人形成影响,而当我须要将代码提交到远程版本库或者和其余人的代码进行合并时,则能够从本地的仓库进行提交。分布式

本地仓库的组成

本地仓库相似于一个本地SVN服务器,它是由三个部分组成的:工具

  1. Direconvery:使用Gi81922t管理的一个目录,也就是一个仓库,包含咱们的工做空间和Git的管理空间。
  2. 工做空间(img-LfrtsGLM-158642_ce):须要经过Git进行版本控制的目录和文件,这些目录和文件组成了工做空间,通俗来讲 1. 这部分是你的实际文件,或者代码 2. 除了.git以外的都属于工做区。
  3. .git:存放Git管理信息的目录,初始化仓库的时候自动建立。
  4. 暂存区(Index/Stage):或者叫待提交更新区,在提交进入repo以前,咱们能够把全部的更新放在暂存区;这一部分就像是一个缓存区,它保存你对工做目录中文件的改动。
  5. HEAD(Local Repo):一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
  6. 贮藏Stash:是一个工做状态保存栈,用于保存/恢复WorkSpace中的临时状态。

2、经常使用命令

正是由于本地仓库的工做空间由三个部分组成,因此咱们在提交工做代码到本地仓库时才有先add再commit的作法:学习

提交本地仓库

  1. 工做目录->暂存区 git add <filename> 指定文件 git add . 提交当前目录全部文件
  2. 暂存区->HEAD,这样代码就提交到了你的本地仓库的HEAD,可是还没到远端仓库。 git commit -m "代码提交信息"
  3. 提交到远端仓库 git push origin <branch> 提交到指定的远端分支

    1 2 步骤实际操做的是本地仓库, 3步骤真的提交远端仓库fetch

从远端仓库克隆到本地仓库

git pull [remote] [branch] 远端地址 指定分支名称.net

这个命令会在你的工做目录中 获取(fetch) 并 合并(merge) 远端的改动。 注意: 若是要合并的不是默认的master分支,也可选择合并到指定的分支。例: 本地分支是master 远端仓库是dev,也能够把dev合并到master分支,版本控制

分支合并

git merge <branch>code

git会尝试自动合并改动,可是并不会每次都成功,若是出现冲突则须要自行手动修改来合并,而且在改动后执行:提交本地仓库的操做

初始化仓库提交至远端仓库

远端仓库下载到你的本地仓库

git clone [remote] [branch]

下图是所示就是上面所说起的模型和几个经常使用命令,通常来讲平常使用只要记住这6个命令也就够了,但要想你写过做的话,仍是不够的

3、 SourceTree的应用

待续

更多git的功能和用法我还没探究出来,先写这些和你们分享,但愿能解决一些困惑,一块儿交流共同进步。

相关文章
相关标签/搜索