【编程笔记】学会使用 Git

目录

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

一、介绍 Git

📖 VCS:V ersion C ontrol S ystem 版本控制系统

📖 多人开发必用版本控制

📖 版本控制工具: 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 全部可配置项
git config -l

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

git 复制代码
# 查看用户对 git 的配置
git config --global --list

全部的配置都是写在本地(电脑)的一个配置文件上

linux 中配置文件在 etc 目录下

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

全局配置:

(2) 配置 Git

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 复制代码
git init




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

git 复制代码
git clone [url]

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

git 复制代码
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 复制代码
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 复制代码
# 查看全部分支
git branch -v
相关推荐
int WINGsssss15 小时前
Git使用
git
用户07605303543817 小时前
Git Revert:安全移除错误提交的方式
git
Good_Starry1 天前
Git介绍--github/gitee/gitlab使用
git·gitee·gitlab·github
云端奇趣1 天前
探索 3 个有趣的 GitHub 学习资源库
经验分享·git·学习·github
F_D_Z2 天前
【解决办法】git clone报错unable to access ‘xxx‘: SSL certificate problem:
网络·git·网络协议·ssl
等风来不如迎风去2 天前
【git】main|REBASE 2/6
git
艾伦~耶格尔2 天前
IDEA 配置 Git 详解
java·ide·git·后端·intellij-idea
云兮杜康2 天前
IDEA中用过git之后文件名颜色全变红
java·git·intellij-idea
睡不醒的小泽2 天前
git merge 和 git rebase
git
艾伦~耶格尔2 天前
Git 下载及安装超详教程(2024)
git·gitee·码仓