Git安装与配置

  • Post author:
  • Post category:其他

1.Git安装与配置

请添加图片描述

1.1 什么是Git

  • Git是目前世界上最先进的分布式版本控制系统。

  • Git是免费、开源的

  • 最初Git是为辅助 Linux 内核开发的,来替代 BitKeeper

请添加图片描述

作者:Linux和Git之父李纳斯·托沃兹(Linus Benedic Torvalds)1969、芬兰

优点:

  • 适合分布式开发,强调个体。
  • 公共服务器压力和数据量都不会太大。
  • 速度快、灵活。
  • 任意两个开发者之间可以很容易的解决冲突
  • 离线工作

缺点:

  • 模式上比SVN更加复杂。
  • 不符合常规思维。
  • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

官网: https://git-scm.com/

源码: https://github.com/git/git/

1.2 搭建Git工作环境

1.2.1 下载Git

打开 git官网,下载git对应操作系统的版本

请添加图片描述

1.2.2 安装

无脑下一步

请添加图片描述

请添加图片描述

  • **Git Bash:**Unix与Linux风格的命令行,使用最多,推荐最多

请添加图片描述

  • **Git CMD:**Windows风格的命令行

  • **Git GUI:**图形界面

1.2.4 Linux与Mac OS安装Git

Linux安装Git:sudo apt-get install git 命令行就可以安装了。

Mac OS安装Git: https://git-scm.com/download/mac,下载双击.pkg安装

1.2.5 Bash基本操作命令

命令名称 英文 作用
ls list 查看当前目录下的内容
pwd print work directory 查看当前所在目录
cd[目录名] change directory 切换目录
mkdir[目录名] make directory 创建目录
touch touch 创建文件
rm[文件名] remove 删除指定文件
cp[源文件或者目录] [目的文件或者目录] cpoy 复制
mv[源文件或者目录] [目的文件或者目录] move 移动
reset reset 重置终端
clear clear 清屏
history history 查看历史命令

1.3 Git配置 – git config

1.3.1、查看配置 – git config -l

请添加图片描述

查看不同级别的配置文件:

#查看系统config
git config --system --list
  
#查看当前用户(global)配置
git config --global  --list
 
#查看当前仓库配置信息
git config --local  --list

1.3.2 设置用户名与邮箱(用户标识,必要)

$ git config --global user.name "qf"  #名称
$ git config --global user.email qfwork@outlook.com   #邮箱

2.Git理论基础

2.1 工作区域

Git本地有三个工作区域:工作目录(Working Directory)暂存区(Stage/Index)资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

请添加图片描述

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

2.2 工作流程

git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;

2、将需要进行版本管理的文件放入暂存区域;

3、将暂存区域的文件提交到git仓库。

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

请添加图片描述

2.3 图解教程

个人认为Git的原理相比别的版本控制器还是复杂一些的,有一份图解教程比较直观:

图解教程英文原版

图解教程中文版

请添加图片描述

3 Git操作

3.1 创建工作目录与常用指令

工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文

日常使用只要记住下图6个命令:

请添加图片描述

3.2 获得Git仓库

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库
请添加图片描述

3.2.1 创建全新仓库

# 在当前目录新建一个Git代码库
$ git init

请添加图片描述

3.2.2 克隆远程仓库

  • 注册登录gitee

  • 创建仓库

请添加图片描述

请添加图片描述

  • 克隆
    请添加图片描述

请添加图片描述

3.3 Git文件操作

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。GIT不关心文件两个版本之间的具体差别,而是关心文件的整体是否有改变,若文件被改变,在添加提交时就生成文件新版本的快照,而判断文件整体是否改变的方法就是用SHA-1算法计算文件的校验和。

3.3.1 文件4种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

3.3.2 查看文件状态

#查看指定文件状态
git status [filename]

#查看所有文件状态
git status

3.3.3 添加文件与目录

请添加图片描述

请添加图片描述

3.3.4 移除文件与目录(撤销add)

#直接从暂存区删除文件,工作区则不做出改变
git rm --cached <file>

请添加图片描述

3.3.5 免密登录

  • 打开cmd,执行ssh-keygen命令,三处选项直接回车

请添加图片描述

  • gitee官网设置

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

3.3.6 提交到远程仓库

请添加图片描述

请添加图片描述

总结

无分支工作流程如下:

  • 克隆项目:git clone url地址
  • 新增或修改项目(工作区
  • 将新增或修改的项目添加到暂存区(git add .)
  • 将暂存区的项目提交到本地仓库(git commit -m “注释”)
  • 每次上传项目到远程仓库之前,先重新拉取项目,避免冲突(git pull)
  • 将本地仓库文件提交到远程仓库(git push)

版权声明:本文为weixin_43939708原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。