【编程笔记】学会使用 Git

时间:2024-04-03 17:30:42

目录

  • 一、介绍 Git
  • 二、安装 Git
  • 三、 常用 linux 目录
  • 四、Git 的必要配置
    • (1) 查看和删除之前的配置
    • (2) 配置 Git
  • 五、Git 基本理论
  • 六、Git 项目搭建
  • 七、Git 文件操作
  • 八、分支
  • Git 笔记 ❀❀❀
    • (1) 常规使用
    • (2) 分支

一、介绍 Git

???? VCS:Version Control System 版本控制系统
???? 多人开发必用版本控制
???? 版本控制工具: GitSVN、CVS、VSS、TFS
???? 分布式版本控制系统(Git):可立即看到代码的改变
???? 集中式版本控制系统(SVN):需要*服务器

???? Linus 两周写完 Git 代码的核心

在这里插入图片描述

二、安装 Git

???? 英文:https://git-scm.com/
???? https://git-scm.com/download/win

???? 中文:https://git.p2hp.com/

???? 卸载 Git:
① 删除环境变量
② 控制面板 - 程序 - 删除

???? 通过【next】按钮安装
在这里插入图片描述
???? Git 环境变量安装的时候配置好的(无需自己配置)
在这里插入图片描述

三、 常用 linux 目录

???? cd
???? cd …
???? pwd
???? ls
???? ll
???? touch:新建文件
???? rm:删除文件
???? mkdir:新建一个目录
???? rm -r: 删除一个文件夹
???? mv:移动文件
???? reset
???? clear: 在 Windows 中是 cls
???? history: 查看历史命令
???? help
???? exit

四、Git 的必要配置

(1) 查看和删除之前的配置

# 查看 git 全部可配置项
git config -l

在这里插入图片描述


# 查看系统 git 配置(系统对 git 的配置)
git config --system --list

在这里插入图片描述


# 查看用户对 git 的配置
git config --global --list

在这里插入图片描述


全部的配置都是写在本地(电脑)的一个配置文件上
linux 中配置文件在 etc 目录下
在这里插入图片描述

系统配置:Git 安装目录下的 etc 目录下的 gitconfig 文件夹存有系统配置项

在这里插入图片描述

全局配置:
在这里插入图片描述

(2) 配置 Git

git config --global user.name "ZhangGuoQing"
git config --global user.email "3665668856@qq.com"

在这里插入图片描述

五、Git 基本理论

???? Git 本地有三个工作区:工作目录(Working Directory)暂存区(Stage/Index)资源区(Repository / Git Directory)

???? Working Directory: 平时存放项目代码的地方
???? Stage / Index: 临时存放你的改动(事实上就是一个文件,保存即将提交到文件列表的信息)
???? Repository(本地仓库):安全存放数据的位置,此处有我们提交的全部版本的数据(其中 HEAD 指向最新放入仓库的版本

远程 Git 仓库

在这里插入图片描述

暂存区和本地仓库是在 .git 文件夹下,它是个隐藏文件夹


Git 工作流程:

① 在工作目录中 添加、修改、删除 文件
② 将需要版本控制的文件放入暂存区
③ 将暂存区的文件提交到本地仓库,进而提交到远程仓库

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

六、Git 项目搭建

在这里插入图片描述

???? 创建全新的本地仓库

git init

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


???? 克隆远程仓库 把远程代码拷贝到本地

git clone [url]

url 是远程仓库的地址(该地址来自于 Gitee 或 GitHub)

git clone https://gitee.com/whongbin/snowflakes_fall.git

在这里插入图片描述
在这里插入图片描述

七、Git 文件操作

文件有四种状态:
???? ① Untracked(未跟踪):此文件在文件夹中,但并没有假到 git 库,不参与版本控制。通过 git add 命令可把该文件的状态修改为 Staged

新创建的文件,处于该状态。执行 git add 可将其存入暂存区

???? ② Unmodify:文件已入库,未修改。版本库中的文件快照与本地文件夹中完全一致。
此种文件有2种去处:如果它被修改,则变为 Modified;如果使用 git rm 将其移出版本库,则它的状态修改为 Untracked

???? ③ Modified:文件已修改,仅仅是修改并未进行其他操作。此种文件有两种去路:

git add 进入暂存状态 Staged
git checkout 丢弃修改过的文件,返回到 Unmodify 状态【git checkout 从库中取出文件,覆盖当前修改】

???? ④ Staged:暂存状态。执行 git commit 将修改同步到库中,此时库中的文件和本地文件一致,文件为 Unmodify 状态【执行 git reset HEAD filename 取消暂存,文件状态变为 Modified】


查看当前文件夹中全部文件的状态

git status

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

八、分支


Git 笔记 ❀❀❀

(1) 常规使用

在这里插入图片描述
git init
git add .
git commit -m
git push
git --version
clear

git status: 查看工作区文件和暂存区文件的状态

git log: 查看操作日志(时间由近至远)
git log --pretty=oneline
git log --oneline
git reflog

git reset --hard 67c89: 前进或后退历史版本
hard: 暂存区、工作区和本地库同步发生改变
mixed:暂存区和本地库同步改变,工作区不发生改变
soft:本地库发生改变,但暂存区和工作区都不发生改变

找回本地库或暂存区删除的文件: git reset --hard 67c89: 前进或后退历史版本

git diff [filename]:比较工作区和暂存区文件差异
git diff HEAD filename: 比较暂存区和本地库文件差异
git diff de5t6 filename: 比较暂存区和本地库文件差异


(2) 分支

在这里插入图片描述

# 查看全部分支
git branch -v