一文详解Git

一. Git 概述

1.1 什么是 Git

Git 是一个免费的、开源的分布式版本控制工具, 主要用于管理开发过程中的源代码文件,在软件开发过程中被广泛使用。通过Git仓库来存储和管理这些文件,Git仓库分为二种:

  • 本地仓库:开发人员自己电脑上的仓库
  • 远程仓库:远程服务器上的仓库

一文详解Git_第1张图片

1.2 Git基本概念

一文详解Git_第2张图片

工作区:包含 .git 文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码。

暂存区:.git 文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫 stage。暂存区是一个临时保存修改文件的地方。

版本库:前面看到的 .git 隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。

1.3 代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。 局域网里有GitLab,互联网里有 GitHub(外网)、Gitee 码云(国内网站)。

gitHub(地址:GitHub: Let’s build from here · GitHub):是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub

码云(地址:Gitee - 企业级 DevOps 研发效能平台):是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

GitLab(地址:The DevSecOps Platform | GitLab):是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

BitBucket (地址:Bitbucket | Git solution for teams using Jira):是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

二.Git的下载和安装

1.下载

打开官网,找到Windows版的Git下载即可

一文详解Git_第3张图片

2.安装

双击安装包,傻瓜式安装即可

3.验证

安装完成后在任意目录点击鼠标右键,如果能看到如下菜单,则表示安装完成

一文详解Git_第4张图片

Git GUI Here:打开 Git 图形界面

Git Bash Here:打开 Git 命令行

三.Git 常用命令

3.1 设置用户签名

用户签名的作用

        签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

基本语法

git config --global user.name “用户名”

git config --global user.email “邮箱”

3.2 创建本地Git仓库

要使用 Git 来对我们的代码进行控制,首先要获得 Git 仓库。可以用二种方式来创建本地仓库,分别是本地初始化一个仓库、或者从远程仓库克隆过来。

1.本地初始化仓库步骤

步骤一:在任意目录下创建一个空目录,作为我们的本地Git仓库

步骤二:进入这个目录,右键打开Git Bash窗口

步骤三:在命令行窗口中输入命令:git init

步骤四:如果在当前目录下看到.git文件夹,代表初始化仓库成功

步骤五:.git文件夹是隐藏文件夹,需要设置显示隐藏文件夹才能看到

2.从远程仓库克隆的步骤

步骤一:在任意目录下创建一个空目录

步骤二:进入这个目录,右键打开Git Bash窗口

步骤三:在命令行窗口中输入命令:git clone “远程仓库地址”

3.3 查看本地库状态

命令

git status

1.首次查看本地库状态

首次查看,本地库的工作区没有任何文件

一文详解Git_第5张图片

2.新增文件

新增文件的方式有二种

方式一:直接在本地仓库内新建一个文件,步骤如下

第一步:创建一个名为 hello 的文本文档

一文详解Git_第6张图片

第二步:在文本文档中随便写一些代码

方式二:通过 vim 命令新建

第一步:在 git 的命令行窗口中输入命令:vim hello.txt

第二步:在新界面按 进入插入模式,然后输入文件内容

第三步:按 esc 进入命令模式,输入命令 :wq 保存文件并退出当前命令界面

第四步:在命令界面输入命令 ll 可以发现,该本地库确实存在该文件了

第五步:在命令行界面输入 cat 文件名,即可查看文件内容

3.再次查看本地库状态

再次输入命令:git status,即可检测到未追踪的文件

一文详解Git_第7张图片

3.4 添加暂存区

你可能感兴趣的:(#,Git,git)