本文简单的说下个人对Git的理解以及一些基本的使用。


Git是什么#

官方一点的解释是:Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

从上面这段话可以看出,重点就是分布式版本控制系统 因为就它有颜色分布式版本控制系统又可以拆分成(分布式版本控制系统

  • 分布式:每个人的电脑上都有一个独立完整的库。
  • 版本控制:在Git中每一次提交都算做一个版本,控制就是可以看到每一次提交修改的内容、提交信息。
  • 系统:操作指令。

Git与GitHub#

先说说GitHub:GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。主要就是Git代码仓库托管,当然像GitHub这样的网站还有Gitlab、开源中国代码托管、coding.net、码云

可能还是有人不太理解什么是托管,这种感觉就有点类似于网盘。就是把文件或代码放到平台上面

Git与GitHub好像并没有什么必然的联系,非要说有的话个人感觉只是单词比较emmm。


安装#

官网下载地址:https://git-scm.com/downloads 比较慢,建议到网上下载

下载运行(如下图)安装一路Next 没什么技术含量#

安装图

安装完成之后鼠标空白处右键会出现 Git GUI HereGit Bash Here(如下图)#

鼠标右键

运行 (Win+R) cmd中,输入git也会出现git的操作指令(如下图)出现这些也就是安装成功了#

鼠标右键


设置Git用户名/邮箱#

初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are.

1
2
git config user.name '用户名'
git config user.email '邮箱'

设置的作用就是,提交文件会显示文件的修改人的信息。


创建Git仓库#

  • 第一步:运行命令行

    (Win+R)输入cmd回车打开cmd命令行,或者是其它的命令行工具(Hyper),或者是 Git Bash Git Bashlinux命令,不过 git 命令与 Windows 一致

  • 第二步:创建仓库 Git Bash 为例

    git initgit init 仓库名称(这个仓库名称可以随意输入)#

    git init 会在命令行当前执行路径创建 .git 文件 存在.git文件就代表这个文件夹是个仓库#

    Git init

    git init 仓库名称 会在 命令行当前执行路径 以输入的仓库名称创建文件夹,文件夹中也会存在.git 文件#

    Git init


在托管平台中创建项目#

这里我们以码云为例(码云地址:https://gitee.com

  1. 首先创建账号

创建项目

  1. 是否开源选项,这个选项决定了别人在码云上是否能搜索到你的项目当然如果你是免费的私有仓库的话,最多支持5人协作,创建项目的时候下面的提示也有写

  2. gitignore,git忽略提交规则某些代码运行时产生的临时文件,或者是一些不重要的文件,写到gitignore里就会忽略这些或者这一类文件 具体的可以看看大佬的这篇文章

  3. 语言、gitignore模板、以及使用什么方式初始化仓库、readme文件

    • 语言选择自己开发使用的语言就好私有仓库的话选不选都一样,公开的话搜索可以按照语言分类
    • gitignore模板,也是选择语言会带有一些默认的忽略提交规则
    • 始化仓库方式个人感觉选什么都一样,只是项目创建之后会有文件,比如选择readme文件初始化项目创建之后里面就会有一个readme文件
    • readme文件说明文件,只要有这个文件Git的托管平台一般都会显示,如下图,readme文件使用的是Markedown语法感兴趣的话可以自行百度
      readme

设置远程仓库地址#

远程和本地的仓库都创建好之后就需要把两个仓库连接起来这样才能使用更新、提交等操作

readme

git remote 远程仓库地址 origin 执行完后修改的是当前git仓库中的.git文件夹的config配置


git clone#

git clone 远程仓库地址 克隆一份远程仓库的内容,当然里面依然会有.git的隐藏文件

对于新项目,可以直接到代码托管平台先创项目,然后 git clone 远程仓库地址 项目,这样可以省去本地创建仓库git init、设置远程仓库地址git remote 远程仓库地址 origin的操作。

gitclone


Git提交三连#

git add => git commit => git push

提交所有更改的文件 git add .提交单个文件git add 文件路径 它会把工作时的所有变化提交到暂存区,包括文件内容修改以及新文件,但不包括被删除的文件

git commit 主要是将暂存区里的改动给提交到本地的版本库git commit -am "提交信息" 每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里

git push 将本地版本库的分支推送到远程服务器上对应的分支。

1
2
3
4
5
6
7
8
// 工作时的所有变化提交到暂存区
git add .

// 将*暂存区*里的改动给提交到本地的版本库
git commit -am "提交信息"

// 将本地版本库的分支推送到远程服务器上对应的分支
git push

创建文件提交到服务器下图

gitclone


git pull#

git pull 从远程获取最新版本并合并到本地