什么是Git?
git(/ɡɪt/[3],音频ⓘ)是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL许可协议发布。最初目的是为了更好地管理Linux内核开发而设计。应注意的是,这与GNU Interactive Tools[4](一个类似Norton Commander界面的文件管理器)不同。
——引用自Wiki
git最初的开发动力来自于BitKeeper和Monotone[5][6]。git最初只是作为一个可以被其他前端(比如Cogito或Stgit[7])包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控制[8]。很多被广泛使用的软件项目都使用 git 进行版本控制[9],其中包括 Linux 内核、X.Org服务器和OLPC内核等项目的开发流程[10]。
简单来说,就是能记录和管理你代码的工具,可以帮你记录每次版本的具体改动,由谁改动,方便统计代码的变化。
分布式相对于集中式的最大区别就是开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
Git有什么作用
- 追踪文件修改历史,支持版本回退
- 分支管理,允许多任务并行开发
- 团队协作,智能处理合并冲突
- 支持离线工作
- 代码备份与恢复
- 便于开源贡献
- 记录详细修改历史
开始使用Git
内容面向Windows系统

git基本操作
安装初始化
在官网下载完成Git并且安装后,可以在任意一处右键打开 git bush 后,输入命令
git config --global user.name "Your Name" // 配置自己的用户名
git config --global user.email "email@example.com"// 配置自己的邮箱
git config --global --list // 查看配置的账户
来设置本台机器上Git使用者的账户。
创建Git仓库
打开一个空文件夹或者项目工程文件夹,右键打开 git bush 后输入
git init
来创建一个版本库(仓库,Repository)。可以将版本库理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
随后使用git add将当前仓库内全部文件放入缓存区,再使用git commit -m "你的提交修改信息"来提交一次版本。
git add
git commit -m "一次改动"
链接远程库
首先需要注册一个代码托管网站的账号,比如Github
github默认主分支名是”main“,而git的默认主分支名是”master“,可以先将github中设置改为”master“,保证本地库更新推送时的一致性
在github右上角的”+“号处点击”New repository“来创建一个github托管的远程仓库
填写好仓库名、开源协议、readme文件后点击创建就完成了远程仓库的创建
要将本地仓库链接到远程仓库,最好设定好SSH密钥,增加安全性
在git bush使用ssh-keygen -t rsa命令,按三次回车,查看目录(windows:在 C:\Users\你的用户名.ssh)中是否已经生成SSH文件
随后在github的setting-SSH and GPG keys内点击New SSH key,将刚刚生成的id_ras.pub文件中的内容复制进去并且保存即可
完成SSH的配置后,链接远程仓库即可使用SSH地址,比HTTP地址更加安全
接下来回到刚刚创建的远程仓库的主页,点击绿色Code按钮后,复制其中的SSH仓库地址
随后在本地仓库中打开git bush,输入
git remote add origin 远程仓库的SSH地址
来将本地仓库链接到远程仓库
随后就可以使用git push origin "master"或者git pull命令来推送或者拉取远程仓库的内容了
Git常用命令
| 命令 | 说明 |
|---|---|
git add | 添加文件到暂存区 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git difftool | 使用外部差异工具查看和比较文件的更改。 |
git range-diff | 比较两个提交范围之间的差异。 |
git commit | 提交暂存区到本地仓库。 |
git reset | 回退版本。 |
git rm | 将文件从暂存区和工作区中删除。 |
git mv | 移动或重命名工作区文件。 |
git notes | 添加注释。 |
git checkout | 分支切换。 |
git switch (Git 2.23 版本引入) | 更清晰地切换分支。 |
git restore (Git 2.23 版本引入) | 恢复或撤销文件的更改。 |
git show | 显示 Git 对象的详细信息。 |
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
Git相关软件
可以使用git gui、tortoise git来图形化控制git仓库,简化操作
Github开源相关

Q&A
如何退出git log或是git reflog?
长按Q即可
参考文章:怎么退出git bash编辑界面,怎么退出git log
如果操作了git reset --hard怎么恢复?
可以使用git reflog来查看所有HEAD的历史,比如checkout或者reset
找到上一次commit操作的版本名,使用git reset --hard 版本名来恢复到被上次reset覆盖的版本
等我用出什么问题再更新
本篇文章参考文献:
git的作用和简单使用——CSDN
Git的作用以及使用方法——CSDN
一张图看懂开源许可协议的区别——CSDN
Git 基本操作——菜鸟教程
git——中文维基百科

Comments NOTHING