前言
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来,怎么办?有办法,先把当前文件“另存为……”一个新 的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:

过了一周,你想找回被删除的文字,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删。如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?这个软件看起来应该是像这个样子,能记录每次文件改变。

版本管理软件可以帮我们完成文件管理。
什么是Git
官方解释:git是分布式版本管理工具。简单理解:Git是管理我们文件的工具,可以记录文件修改历史,保证文件不丢失。
Git官网地址:https://git-scm.com
Git使用
git核心概念
- 工作目录(Working Directory):你的项目目录,它在仓库中被跟踪。
- 暂存区(Staging Area/Index):一个准备下次提交的文件列表,暂存区允许你选择性地提交更改。
- 仓库(Repository):存储项目历史记录的地方,可以是本地的,也可以是远程服务器上的。
- 本地仓库(Remote):本地电脑存储历史记录区域。
- 远程仓库(Remote):托管在服务器上的代码副本,通常用于团队协作。
Git工作目录,对应电脑中看得到的文件目录。初始化创建版本库后,可以看到一个隐藏文件:.git,它对应版本库,存储文件操作记录。包含暂存区和历史区两部分。

暂存区中存储的文件列表需提交到历史区后才会生成版本记录。
git本地库常用操作命令
我们通过命令对本地版本库操作,具体操作流程如下:
1. 右键选择Git Bash Here 打开命令窗口,执行git init命令, 在当前目录创建版本库,该目录被git管理。

2. 初始化用户名和邮箱,告诉git是谁提交的版本。

3. git add 命令将当前工作区内容存入版本库暂存区。
单独存一个文件 git add index.txt 单独存一个文件夹 git add director/ 把所有文件存入暂存区 git add --all 简写: git add .
4. 查看暂存区内容状态
git status

5. 恢复暂存区或历史区内容到工作区 git checkout

6. 删除暂存区内容
git rm --cached 文件名
7.暂存区内容提交到历史区,生成版本记录
git commit -m "我的第一个版本" // git commit 是命令,-m后内容是提交操作描述,用于找回版本
8. 查看历史区提交记录 git log

9. 恢复本地库历史区指定版本记录 git reset –hard 版本号

git本地库操作流程图

git远程库操作
为了高效的团队协助开发,项目中会增加远程仓库操作。

通过git push命令将本地库内容推送到远程库,git pull 命令拉取远程库内容到本地工作区。

git fetch拉取的远程库内容,需要手动通过git merge合并。git pull 会自动合并。某种意义上git fetch会更安全。
git远程库协助开发
远程库作为团队协助开发交互库,在用户第一次获取内容时,使用git clone 命令,指定远程仓库地址获取内容。建立连接后,只需git pull命令拉取。 用户第一次提交内容到版本库,使用git remote add origin 地址 命令,后续拉取只需使用git push命令。 作为个人或小企业可以使用现有远程库服务器 gitee、github、gitlab。

小结
Git不仅是一个工具,更是一种帮助团队高效协作的方式。掌握Git,可以帮助你更好地管理代码,提高开发效率。本文介绍git版本管理工具基础使用,相关核心概念,本地库和远程库常规操作。