git基础教程与常用操作
本文最后更新于 2026年3月18日 晚上
git 快速入门教程
git 是版本控制软件。
版本控制的概念
版本控制是什么,为什么需要版本控制?
版本指若干文件内容所构成的整体,而控制指记录个整体以及变化。
举个例子:
当你再写一篇文章,写完之后就保存到电脑里面了。过了很久之后,再次打开发现措辞不当,进行了若干处修改。然后又过去一段时间,觉得上一次考虑不周,也许还是第一次的更好,此时你想回到第一次的版本。
而版本控制就是为了实现这样的目的:即可以保存任意状态下的文件内容,并且可以给出任意两种状态下差异。
有了版本控制,你就可以随心所欲的创作和修改。不用担心记不住的问题,版本控制可以帮你想要保存的任何状态,你可以回到任意的状态中。简而言之,在版本控制中,你可以任意拨弄“时间线”,回到“过去”,从“过去”穿越到“未来”。
版本控制软件不只有 git 还有其他的,例如 SVN,CVS 等,但最常用的就是 git。
安装配置
在电脑上安装 git 软件,并配置好 git 环境变量。
安装 git
git 官方地址:https://git-scm.com/downloads
git 镜像源地址:https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/LatestRelease/
gitextension 软件网址(可选): https://gitextensions.github.io/
配置 git
推荐首先配置如下 git 全局参数:
1 | |
下面的是可选配置:
1 | |
配置 SSH (可选)
生成密钥步骤,在 git bash 中输入:
1 | |
一直回车过去,在系统默认路径 C:\Users<user name>.ssh 下生成 id_rsa.pub 和 id_rsa 文件。
然后将 id_rsa.pub 文件内容复制到 gitlab 网站上,添加 ssh key。
最后在本机执行:
1 | |
验证是否成功,就可以正常使用 git 命令了。
配置文件设置 (可选)
除了这种方式外,还可以直接在配置文件中设置参数。
| 类型 | 优先级 | 路径 |
|---|---|---|
| 仓库路径 | 高 | .git\config |
| 用户级别路径 | 中 | C:\Users\<user-name>\.gitconfig |
| 系统级别路径 | 低 | C:\Program Files\Git\etc\config |
典型的配置文件内容如下:
1 | |
常用命令
1 | |
1 | |
git 多账户配置 (可选)
1 | |
工作流程
首先克隆远程仓库:git clone [url],或从本地创建新仓库:git init
然后,在本地编辑文件,并提交到本地仓库:git add [file-name],git commit -m "commit message",
最后,推送到远程仓库:git push origin master,或其他分支:git push origin [branch-name]
仓库目录说明:
.git 文件夹是索引文件,存放着版本信息,包括提交历史、暂存区、远程仓库等。
工作区:就是你在电脑里能看到的目录,通过编辑器打开的文件都在工作区。
.gitignore 文件:忽略不需要提交的文件的说明文件
FAQ
Q:克隆带子模块的仓库,如何下载子模块?
A:git clone 命令默认不会下载子模块,需要使用 --recursive 参数来下载子模块。例如:git clone --recursive [address],如果已经下载了仓库,那么只需要进入仓库,执行git submodule update --init --recursive,或者执行git fetch [url]
相关资源链接
| 项目 | URL |
|---|---|
| git 官网 | https://git-scm.com/ |
| git 镜像网址 | https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/LatestRelease/ |
| gitextension | https://gitextensions.github.io/ |
常见问题
Q: 带模块的仓库,下载出错如何继续?
A: 进入仓库,执行=git submodule update --init --recursive=,或者执行=git fetch [url]=
A: 使用 hash 切换分支 git checkout <hash>
Q: 跳过检验,直接提前.
A: git commit --no-verify -m "aaa"