Git是一个开源的分布式版本控制系统,完全免费,可以帮助开发者跟踪和管理代码的修改历史,方便多人协作开发。

Git具有以下特点:
速度快: Git在处理版本管理任务时非常快速,特别适合大规模项目。 简单的设计: Git的设计简洁明了,易于学习和使用。 对非线性开发模式的强力支持: Git支持成千上万个并行开发的分支,这使得非线性开发成为可能。 完全分布式: Git不必服务器端软件支持,可以在本地进行完整的版本控制。 有能力高效管理类似Linux内核一样的超大规模项目: Git的强大性能使其能够高效地管理超大规模项目。
Git的概念汇总
工作区(Workspace):电脑里编写的代码文件存放的目录,这个目录里的文件的新增、修改会提交到暂存区; 暂存区(stage或index):临时存放文件的修改,实际上它只是一个文件(.git/index),保存待提交的文件列表信息; 版本库/仓库(Repository):Git的管理仓库,管理版本的数据库,记录文件/目录状态的地方,记录所有内容的修改记录,就是工作区目录下的隐藏文件夹 .git ,包含暂存区、分支、历史记录等信息; 服务端/远程仓库(origin或remote):服务端的版本库,专用的Git服务器,为多人共享提供服务,承担中心服务器的角色;本地版本库通过push指令把代码推送到服务端版本库; 本地仓库:用户电脑上直接使用的版本库; 分支(Branch):分支是从主线分离出去的“副本”,可以独立操作而互不干扰,仓库初始化就有一个默认主分支master; 头(HEAD):HEAD类似一个“指针”,指向当前活动分支的最新版本; 提交(Commit):把暂存区的所有变更的内容提交到当前仓库的活动分支; 推送(Push):将本地仓库的版本推送到服务端(远程)仓库; 拉取(Pull):从服务端(远程)仓库获取更新到本地仓库; 获取(Fetch):从服务端(远程)仓库更新,作用同拉取(Pull),区别是不会自动合并。 冲突(Conflict):多人对同一文件的工作副本进行更改,并将这些更改合并到仓库时就会面临冲突,需要人工合并处理。 合并(Merge):对有冲突的文件进行合并操作,Git会自动合并变更内容,无法自动处理的冲突内容会提示人工处理。 标签(Tags):指某个分支某个特定时间点的状态,可以理解为提交记录的别名,常用来标记版本。 master(或main):仓库的“master”分支,默认的主分支,初始化仓库就有了;Github上创建的仓库默认名字为“main”; origin/master:表示远程仓库(origin)的“master”分支; origin/HEAD:表示远程仓库(origin)的最新提交的位置,一般情况等于“origin/master”

Git基本流程
Git的工作流程核心主要有以下几个:
0、准备仓库:创建或从服务端克隆一个仓库。 1、搬砖:在工作目录中添加、修改代码。 2、暂存(git add):将需要进行版本管理的文件放入暂存区域。 3、提交(git commit):将暂存区域的文件提交到Git仓库。 4、推送(git push):将本地仓库推送到远程仓库,同步版本库。 5、获取更新(fetch/pull):从服务端更新到本地,获取他人推送的更新,与他人协作、共享。

git commit -a指令省略了add到暂存区的步骤,直接提交工作区的修改内容到版本库,不包括新增的文件。 git fetch、git pull 都是从远程服务端获取最新记录,区别是git pull多了一个步骤,就是自动合并更新工作区。 git checkout .、git checkout [file] 会清除工作区中未添加到暂存区的修改,用暂存区内容替换工作区。 git checkout HEAD .、git checkout HEAD [file] 会清除工作区、暂存区的修改,用HEAD指向的当前分支最新版本替换暂存区、工作区。 git diff 用来对比不同部分之间的区别,如暂存区、工作区,最新版本与未提交内容,不同版本之间等。 git reset是专门用来撤销修改、回退版本的指令,替代上面checkout的撤销功能。
Git状态
Git在执行提交的时候,不是直接将工作区的修改保存到仓库,而是将暂存区域的修改保存到仓库。要提交文件,首先需要把文件加入到暂存区域中。因此,Git管理的文件有5种状态:
未跟踪(untracked):新添加的文件,或被移除跟踪的文件,未建立跟踪,通过git add添加暂存并建立跟踪。 未修改:从仓库签出的文件默认状态,修改后就是“已修改”状态了。 已修改(modified):文件被修改后的状态。 已暂存(staged):修改、新增的文件添加到暂存区后的状态。 已提交(committed):从暂存区提交到版本库。

安装教程
下载Git安装程序
在Git官网下载按照程序,Git下载地址:https://git-scm.com/downloads
也可以在公众号回复 014 获取Git安装程序及Git GUI中文语言包下载地址。
打开Git下载地址,网站会根据当前电脑的操作系统,推荐对应版本的下载信息,可直接点击右侧推荐的下载按钮,也可点击左侧菜单下载不同操作系统的安装程序;

点击上图的Windows或者Download for Windows按钮,进入下载页面,如下图,根据电脑操作系统版本选择相应的32位或者64位的安装程序,这里点击64-bit Git for Windows Setup进行下载;

安装Git
双击安装程序,打开Git安装界面,直接点击Next即可;

选择Git安装目录,默认目录是在C盘,建议更改到非系统盘下;

选择组件界面,保持默认,直接点击Next即可;

开始菜单设置界面,保持默认,直接点击Next即可;

选择Git的默认编辑,默认Vim编辑器,直接点击Next即可;

设置Git初始分支名字,在Git创建分支后默认的名字是master,如果没有特别要求,使用默认设置,直接点击Next即可;

调整PATH环境,使用默认,直接点击Next即可;

选择SSH可执行文件,保持默认即可,直接点击Next;

开启https连接,保证数据传输安全,保持默认即可,直接点击Next;

配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,保持默认选项,直接点击Next;

选择 Git 终端类型,默认 Git Bash 终端,直接点击Next即可;

选择git pull合并的模式,保持默认,直接点击Next即可;

选择 Git 的凭据管理器,默认的跨平台的凭据管理器,直接点击Next即可;

配置额外选项,保持默认即可,直接点击Next;

配置实验选项,这里也保持默认即可,点击Install进行安装;

点击Finish完成安装;

桌面右键出现Open Git GUI here与Open Git Bash here 说明安装成功;

Git命令窗口设置中文
在开始菜单中打开Git Bash;

在窗口中右键弹出菜单中选择Options;

Options中点击Window,找到UI language,在下拉菜单中选择zh_CN,点击save保存,即可修改为中文;

开始菜单中可以看到刚安装的Git程序;
Git CMD: Windows 风格的命令行
Git Bash: Unix 与 Linux 风格的命令行(推荐使用)
Git GUI: 图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

Git GUI窗口修改为中文
先下载中文压缩文件包,GitHub 下载地址:https://github.com/stayor/git-gui-zh
如果上面网址打开很慢,可以在公众号回复 014 获取Git GUI中文语言包。

将下载的压缩包解压,复制下图框选的两个文件,到Git的安装目录,我这里安装在D盘,所以目录为 D:\Program Files\Git\mingw64\share\git-gui\lib

在D:\Program Files\Git\mingw64\share\git-gui\lib目录下创建msgs目录,将zh_cn.msg和README.md复制到msgs目录中;

打开Git GUI即为中文界面了。

今天的文章就到这里,如果对你有用,记得点个【赞】和【在看】,感谢阅读~




