Git 使用的一些个人理解

2020/4/10 17:01:49

本文主要是介绍Git 使用的一些个人理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近在学习git的使用,有一些个人的理解,写出来和大家一起分享。

分一下几点

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

一、什么是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中的临时状态。

二、常用命令

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

提交本地仓库

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

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

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

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

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

分支合并

git merge <branch>

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

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

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

git clone [remote] [branch]

下图是所示就是上面所提及的模型和几个常用命令,一般来说日常使用只要记住这6个命令也就够了,但要想你写过作的话,还是不够的

三、 SourceTree的应用

待续

更多git的功能和用法我还没探究出来,先写这些和大家分享,希望能解决一些困惑,一起交流共同进步。



这篇关于Git 使用的一些个人理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程