git入门
约 4091 字大约 14 分钟
2025-06-20
没有 Git
时,你的文件命名可能是:
设计方案-第1版.doc
设计方案-第2版.doc
设计方案-第3版.doc
设计方案-终版.doc
设计方案-终版2.doc
对于代码文件而言,将会出现:
HelloWorld-v1.html
HelloWorld-v2.html
HelloWorld-v3.html
不同版本的文件同时存在电脑上,并且非常有可能散落在不同的文件夹里,不管是使用还是查找都非常不方便。因此, 版本控制系统应运而生。
Git
、 SVN
都是知名的版本控制系统,但本教程是Git 入门,所以这里将只介绍 Git
的部分 : )
下面让我们来开始 Git
的学习吧。
顺便一提,Git
和 git
是一个意思,为了书写方便,后文将统一使用 git
。
1. 安装 git
git
是一个本地软件,和 chrome(谷歌浏览器) 一样,使用之前要先安装。
git 官网
- 英文版: https://git-scm.com/
- 中文版是 https://git-scm.cn/ 。
下载 git 安装包(Windows)
在官网首页找到 Downloads 或者 下载 , 选择 Windows,网页跳转到安装包下载页面。
英文版安装包:
中文版安装包:
下载完成之后会得到一个 .exe 文件
安装 git(Windows)
双击 .exe 文件,出现一个弹窗,点击 Install,等待软件安装完成,点击 Finish。
然后按 Windows 键,开始菜单中出现:
点击 Git Bash
,出现一个类似命令行窗口的东西,说明 git
安装成功!
2. 初次使用 git 前的配置
现在电脑上已经安装好了 git 软件,但就像初次使用 QQ 时需要注册一个账号一样,初次使用 git 前也要设置自己的账号密码。 不同的是 git 要设置的是用户名user.name
和邮件地址user.email
。
按 win + r
输入 cmd
:
点击 确定 ,打开命令行:
在命令行输入分别以下代码(记得替换 name 和 email 为自己的信息):
git config --global user.name "your-name"
git config --global user.email "your-email@example.com"
--global
表示全局设置,意思是这台电脑上所有的 git 操作都会使用这个 name 和 email 。
如果某个项目想要使用不同的 name和 email,可以在该项目目录下运行不带 --global
的命令。
配置完成之后可以输入 git config --list
来查看配置好的 git 账户信息:
C:\Users\Administrator>git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=G:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=my-name
user.email=my-email@qq.com
safe.directory=D:/code_working/HcApplets_Scanf
safe.directory=D:/code_working/HcApplets
safe.directory=D:/code_study/refactoringCode
safe.directory=D:/code_working/HcOilStationsPayment
credential.https://gitee.com.provider=generic
credential.helper=store
也可以输入以下两条命令查看 user.name 和 user.email:
git config --global user.name
git config --global user.email
C:\Users\Administrator>git config --global user.name
my-name
C:\Users\Administrator>git config --global user.email
my-email@qq.com
到现在为止,你已经配置好了 git 的本地账户,下一步我们将开始使用 git!
3. 开始使用 git
git 最基础的 3 个命令是:
- 初始化 git 仓库:
git init
- 添加文件:
git add *.c
- 提交文件:
git commit -m 'description'
下面我们来解释这 3 个命令的含义。
要用 git 记录本地文件的改动,我们首先要有一个 git 仓库(⚠ 这个仓库是本地仓库,和后文的云端仓库不是一个)。
以 E:\gitDemo
目录为例(⚠ 路径中不要有中文!)。
初始化 git 仓库
现在目录中只有一个 hello.txt
的文本文档。
E:
gitDemo
hello.txt
演示 git 仓库使用
在这个目录的地址栏上输入 cmd
,按回车,弹出命令行,输入:
git init
运行结果:
E:\gitDemo>git init
Initialized empty Git repository in E:/gitDemo/.git/
E:\gitDemo
目录下多出一个半透明的文件夹 .git
(如果看不到,设置显示隐藏文件、文件夹),这个就是 git 的本地仓库。
添加需要追踪的文件
有了 git 仓库后,我们就可以指定哪些文件的改动要追踪。
现在目录中只有一个 hello.txt
文件,追踪它的改动就可以用 git add hello.txt
。
运行结果:
E:\gitDemo>git init
Initialized empty Git repository in E:/gitDemo/.git/
E:\gitDemo>git add hello.txt
E:\gitDemo>
git add
之后命令行不会有任何提示,就是添加成功了。
提示
如果有多个文件,并且想全部添加,可以直接使用 git add .
添加所有的文件(除了忽略的文件外,忽略的文件参考 4. 设置 git 忽略的文件。
提交修改
git add 后的下一步是提交这个文件修改内容,使用的命令是:
git commit -m '代码提交信息'
引号之间的内容可以自定义修改,中文英文都可以。
比如我们修改为 git commit -m '第一次提交'
,命令行运行结果:
E:\gitDemo>git init
Initialized empty Git repository in E:/gitDemo/.git/
E:\gitDemo>git add hello.txt
E:\gitDemo>git commit -m '第一次提交'
[master (root-commit) b8299b9] '第一次提交'
1 file changed, 1 insertion(+)
create mode 100644 hello.txt
E:\gitDemo>
截图如下:
E:\gitDemo>
目录下仍然只有 .git 和 hello.txt ,但此时 .git 中已经存储了我们文件的内容以及修改的部分。
我们可以用 git log
来查看历史提交信息。
E:\gitDemo>git log
commit b8299b983237600227fc50704a5b2914d61af346 (HEAD -> master)
Author: your-name <your-email@example.com>
Date: Fri Jun 13 16:14:48 2025 +0800
'第一次提交'
E:\gitDemo>
也可以使用 git ls-files
查看 git 仓库中管理了哪些文件。
E:\gitDemo>git ls-files
hello.txt
E:\gitDemo>
到此为止,最简单的 git 使用
就完成了!🎉🎉
4. 设置 git 忽略的文件
上文我们提到可以使用 git add .
来添加目录下的所有文件,但总有些文件不需要添加到 git 的版本库中,比如系统自动生成的日志文件、临时文件等。
仍然以 E:\gitDemo>
为例,新建一个 no-git.txt
文件。
现在目录下有 hello.txt
、 no-git.txt
两个文件,但是我们想忽略 no-git.txt
文件,也就是用 git add .
提交文件后,git 仓库中仍然没有no-git.txt
。
.gitignore 文件
- 新建
.gitignore
文件(⚠ 注意没有后缀名!) - 用记事本打开,现在文件是空的
- 在
.gitignore
输入no-git.txt
,保存文件
E:
gitDemo
.gitignore
no-git.txt
重新 commit
然后我们修改一下 hello.txt
的内容:
E:
gitDemo
hello.txt
演示 git 仓库使用
演示` .gitignore` 文件
这次使用 git add .
添加文件
E:\gitDemo>git add .
E:\gitDemo>git commit -m "测试 .gitignore 文件"
[master 38d69f3] 测试 .gitignore 文件
2 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
E:\gitDemo>
再次使用 git ls-files
查看 git 管理的内容:
E:\gitDemo>git ls-files
.gitignore
hello.txt
E:\gitDemo>
多出了 .gitignore
,没有 no-git.txt
。
证明我们的 git 忽略文件使用成功!🎉🎉
相关信息
更多.gitignore
文件语法参考 2.2 Git 基础 - 记录每次更新到仓库
5. 云端仓库
之前我们查看的 git 信息都存在本地 .git
文件夹中,也就是说,我们之前用的一直是 git 的本地仓库。但本地仓库显然只能在一台电脑上使用,如果要和别人协作,或者换电脑开发,我们就需要用到云端仓库。
云端仓库,或者叫 远程仓库,是托管在互联网上的版本库。
听起来是不是有些晦涩?其实云端仓库就是存在互联网上的仓库,就像我们手机相册里的图片是本地图片,上传到 QQ 空间后腾讯的服务器中就存了一份云文件。而云端的文件和本地的图片是两份图片,不上传、不下载的情况下互不影响。
大名鼎鼎的 github
就是一个远程仓库,国内也有 gitee
等。此处要注意,git
是 git
,github
是 github
,两者并没有必然的联系。
本地文件版本管理要用 git
,但是远程仓库可以只用 github
,也可以只用 gitee
,还可以两者都用,但如果不想把文件上传云端,我们甚至可以不用远程仓库,只用本地 git
。
不过现在我们还是来学习一下如何把文件上传到云端仓库吧 😀
把本地文件推送到云端
把本地的文件上传到云端仓库的动作,我们叫 推送,也就是 push。
要把文件推送到云端,首先我们要有一个云端仓库。
以 gitee
为例,进入 https://gitee.com/ 注册一个账号,补充基本信息。
然后找到仓库,点击新建仓库,输入名称(路径会自己补充),点击创建;
仓库创建成功后会跳转到下面的页面:
前面的命令不用看,我们已经都执行过了,这里只需要注意两条命令:
git remote add origin https://gitee.com/xxxxxx/git-demo.git
git push -u origin "master"
git remote add origin url
把本地仓库和云端仓库关联起来git push -u origin "master"
把本地文件推送到云端仓库中
在 E:\gitDemo>
目录的地址栏上输入 cmd
,按回车,弹出命令行,执行上面两条命令,推送成功:
E:\gitDemo>git remote add origin https://gitee.com/twoflowers/git-demo.git
E:\gitDemo>git push -u origin "master"
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 6 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (7/7), 596 bytes | 198.00 KiB/s, done.
Total 7 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag a24f0693
To https://gitee.com/twoflowers/git-demo.git
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
E:\gitDemo>
此时刷新刚才新建 gitee
仓库网页,看到文件。
【⚠】推送时要求输入账号密码
如果你是第一次使用 git、第一次注册 gitee
的账号,那么 push
时会跳出一个弹窗,要求输入账号、密码。
如果使用的是 gitee
,这里输入的就是 gitee
的账户和密码;如果使用的是 github
,这里输入的就是 github
的账户和密码。
在这里输入账号和密码之后,电脑会记住凭证,以后再 push
或者 clone
都不需要重新输入(只针对电脑上只有一个 gitee
的用户凭证)。
【⚠】推送时提示账号密码错误
如果第一次 push
没有要求输入账号密码,但是提示账号密码错误,是电脑上曾经设置过 gitee
的账户和密码。我们把原来的凭证清理掉,然后再次 push
、按照要求输入自己的账号和密码即可。
打开 控制面板,找到 用户账户
点击 管理 Windows 凭据
找到 gitee.com
网址,点击 删除
重新执行 git push -u origin "master"
即可。
如果本地文件再次修改,依次执行 add 、commit、push
即可。
E:
gitDemo
hello.txt
演示 git 仓库使用
演示` .gitignore` 文件
第三次修改hello.txt文件
E:\gitDemo>git add .
E:\gitDemo>git commit -m "第三次提交文件"
[master 942f750] 第三次提交文件
1 file changed, 3 insertions(+), 1 deletion(-)
E:\gitDemo>git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 6 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 384 bytes | 384.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 8a48749f
To https://gitee.com/twoflowers/git-demo.git
38d69f3..942f750 master -> master
E:\gitDemo>
在 gitee
仓库页面再次刷新,看到新的提交动态。
从云端仓库下载项目
学完了 本地 --> 云端仓库
,接下来我们看 云端仓库 --> 本地
。
下载文件到本地就很简单了。可以选择下载 .zip
压缩包,也可以克隆项目。
点击 克隆/下载,出现一个弹窗:
点击下载 ZIP,会把源文件以压缩包的形式下载到本地:
点击克隆代码,找一个空项目,进入对应目录 cmd,粘贴克隆代码。
E:\gitDemoClone>git clone https://gitee.com/xxxxxx/git-demo.git
Cloning into 'git-demo'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 10 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (10/10), done.
Resolving deltas: 100% (1/1), done.
E:\gitDemoClone>
两者相比较,可以看到克隆的代码有 .git
文件夹,下载的 ZIP 没有,可以根据需要选择。
6. git 版本
从开始我们就说了 git 是 版本控制系统,但到目前为止我们一直都在提交新版本,并没有体现如何找回旧版本。
git 的版本在本地和云端有不同的查看方式,我们分开来看。
本地查看版本
创立了 .git
本地仓库后,本地文件的每一次 add
或者 commit
都会被 git 记住,由于不同命令下找回文件的步骤不同,为方便起见,这里我们只考虑 commit
之后存储的版本信息。
首先打开 E:\gitDemo
所在的目录 cmd
,然后输入 git log
查看历史提交信息。
E:\gitDemo>git log
commit 942f750142195d2727d39697acc19bfb235daaaa (HEAD -> master, origin/master)
Author: twoflowers <1292548615@qq.com>
Date: Tue Jun 17 11:34:48 2025 +0800
第三次提交文件
commit 38d69f376ff38591a23983f0239b1391dbb4a493
Author: twoflowers <1292548615@qq.com>
Date: Fri Jun 13 16:46:06 2025 +0800
测试 .gitignore 文件
commit b8299b983237600227fc50704a5b2914d61af346
Author: twoflowers <1292548615@qq.com>
Date: Fri Jun 13 16:14:48 2025 +0800
'第一次提交'
E:\gitDemo>
从图片中还可以看到不同的关键字有不同的颜色。
commit
后面很长的字符串就是版本号,我们定位不同的版本就是用它。
HEAD
表示当前版本,比如我们现在在第三次提交文件 942f750142195d2727d39697acc19bfb235daaaa
的版本上
E:
gitDemo
hello.txt
演示 git 仓库使用
演示` .gitignore` 文件
第三次修改hello.txt文件
我们要把当前版本换成 测试 .gitignore 文件
版本,使用git reset --hard 版本号
命令(版本号输前几位、能够定位即可):
E:\gitDemo>git reset --hard 38d69f
HEAD is now at 38d69f3 测试 .gitignore 文件
E:\gitDemo>
E:
gitDemo
hello.txt
演示 git 仓库使用
演示` .gitignore` 文件
那如果我又想回到第三次提交文件
呢?
先用 git reflog
看一下历史版本和版本号:
E:\gitDemo>git reflog
38d69f3 (HEAD -> master) HEAD@{0}: reset: moving to 38d69f
942f750 (origin/master) HEAD@{1}: commit: 第三次提交文件
38d69f3 (HEAD -> master) HEAD@{2}: commit: 测试 .gitignore 文件
b8299b9 HEAD@{3}: commit (initial): '第一次提交'
E:\gitDemo>
找到 第三次提交文件
的版本号是 942f750
E:\gitDemo>git reset --hard 942f750
HEAD is now at 942f750 第三次提交文件
E:\gitDemo>
现在就回来了。
E:
gitDemo
hello.txt
演示 git 仓库使用
演示` .gitignore` 文件
第三次修改hello.txt文件
云端仓库查看版本
本地文件推送到云端仓库中,本地仓库的版本信息会一起传到云端仓库中。
右侧有近期动态,克隆/下载 下面也有 3 次提交。
点击 3 次提交,可以看到和本地仓库一样的版本记录。
点击右侧 浏览文件,就能看到对应版本的内容。
7. 视频教程和结语
git
入门教程到这里就结束啦,如果你想更深入地学习 git
,可以参考官方文档和更多优秀的资料。
喜欢看视频的小伙伴也可以选择直接观看我的教程视频:
一些推荐网站:
🎉🎉🎉【end】🎉🎉🎉