尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
给小白的超详细Git使用教程(一站式超长)(面向小白)
使用Git的全流程一、Git的简介了解Git1.Git的起源2.Git的特点3.Git的总结4.作者有话说二、Git的下载与安装1.下载2.安装1.编辑器选择2.主分支名字选择3.配置三、Git的工作原理工作示意图分支示意图四、Git的本地使用1.查看文件状态2.创建项目文件夹2.1 创建工作区整个项目2.2 创建文件3. 初始化仓库4.添加文件4.1 git add怎么用3.2 添加错了怎么办5.提交文件到本地6.修改7.查看提交记录8.版本回退9.分支的使用10.暂存区的使用五、Git 的 远程使用GitHub示例1.托管服务是什么2.注册账号3.创建仓库4.使用SSH5.远程使用5.1关联远程仓库5.2推送代码到远程仓库5.3克隆5.4抓取和拉取5.5解决冲突六、Git配合VScode使用七、Git常用命令汇总注意参考文献一、Git的简介了解Git备注如果只是想学习Git的下载及使用建议点击目录跳转到二作者写了好几天求赞呜呜呜1.Git的起源Git的“父亲”是Torvalds一位美籍芬兰人。在git诞生之前Torvalds所在的团队使用BitKeeper进行项目的版本管理可是在2005年由于商业许可原因人家收回了Linux团队免费使用BitKeeper的授权天才Torvalds转念一想你不给我用嘿我自个儿搓一个结果就是10天后Git诞生了没错仅仅10天谁也想不到这个”被迫“编写的软件如今却成为了全球软件开发领域无可争议的底层基础设施而且还是开源免费的2.Git的特点可靠性reliable所有数据都以 SHA-1 哈希值存储保证数据的完整性和安全性。高效high-performancegit所有的操作都是本地化的增删改查都可以在毫秒级内完成无需上传服务器或等服务器响应这点很受欢迎。分布式distributedgit采用了分布式管理每个人每台电脑都有一份完整的副本不必依赖中央服务器。3.Git的总结Git是一个免费并且开源的分布式版本控制系统能够高效的处理从小型到大型项目的版本管理以及提供有效的团队管理工具。4.作者有话说我推荐新手使用git的理由很简单配合Githubgitee等免费仓库能够记录自己的学习路径提供一点点学习的动力方便管理自己的代码以及个人项目的版本更迭提前学会Git的使用能锻炼自己的团队协作能力同时提升自己的求职竞争力便于参与开源拓展自己的技术视野。二、Git的下载与安装测试系统Win 11测试时间2025年9月1.下载Git下载地址-------------------官方下载指导点击上面蓝色直达也可以复制下面的连接自己去浏览器找https://git-scm.com/downloads首先会看见这个界面选择系统后是这样的下载完点击这个版本不一样没关系2.安装第一个是条款协议嗯~我猜大部分都是直接同意的有next点next除了接下来的几个要注意下1.编辑器选择这个是让你选择默认编辑器如果你安装了vscode建议你选择这个——它对代码编辑的支持最全面后续写提交说明解决冲突啥的很好用也可以免代码一键提交合并上传。建议下一个VScode,反正它是一个轻量级的代码编辑器不会占太大空间2.主分支名字选择这个是让你选择你提交时默认创建项目的名字老版本喜欢用上面的master现在用的更多的是下面的main——意思是主分支也可以自定义。3.配置官方配置文档Git Bash——Git 使用的配套工具本质上是一个模拟Linux命令行的终端我们安装完 Git 之后要做的第一件事就是设置你的用户名和邮件地址。配置用户名 和 邮箱 是为了向提交的对象表示你是谁方便管理记录直接在打开的bash中输入下面这两行代码配置名字Name要换成自己的gitconfig--globaluser.nameName配置邮箱:把后面那个your_email替换成自己的没有也没关系瞎写一个也可以有github等尽量用创建那个账号的邮箱gitconfig--globaluser.email your_email其中的global是全局配置的意思以后在单独的项目里也可以单独配置不加global就行三、Git的工作原理工作示意图分支示意图主要流程新建一个项目后自动新建了mian/master分支这个时候我们新建一个develop分支用来作为主开发的分支然后不同小组新建各自的feature分支来开发各自的功能开发完后向develop主开发分支提交合并请求develop分支对其进行验证找不到bug后新建一个release分支作为测试服在进行长时间验证发现错误就打回develop进行修复发现很稳定后就向主项目main/master合并并生成版本号。main/master分支是项目的核心分支只接受hotfixes热修复紧急修复 和release(预发布版本)的分支合并 通常具有版本号可以称为正式版release分支是develop分支拿来验证的分支就是所谓的测试版develop分支是开发分支也是长期存在的核心分支主要功能是收集各种feature分支对他们进行测试和验证feature分支是各种新功能的开发分支可以同时开很多条分支同时开发减少时间成本版本号的说明1.主版本主要功能变化或者重大更新2.次版本添加一些新功能改进旧功能3.小版本修复一些bug打一些补丁当然还有别的工作方式这里就不细说了感兴趣可以查查四、Git的本地使用Tips1.记得切英文输入法2.git bash 里面不能使用Ctrl C 以及 Ctrl V ,要复制的话先左键拖动选中,然后在要复制的地方鼠标中键滚轮就行1.查看文件状态查看文件状态指令gitstatus用来查看文件文件有三种状态红色修改、创建、删除----------------红色绿色git add ---------------添加后变成绿色白色git commit-----------提交后变成白色2.创建项目文件夹2.1 创建工作区整个项目首先可以创建一个项目文件夹MyTest- 进入后右键 - 如果没看见open git bash here就点击最下面的更多再点击 - 然后就会看到下面的命令框2.2 创建文件关于创建项目有两种方法, 一种是直接在窗口文件夹里面创建右键新建或者左上角新建比如上面的图片里的Test文件夹就是直接在文件资源管理器里创建的下面介绍第二种:(直接在bash里面输入)#创建文件的常用指令touch文件名.后缀#创建单个空文件mkdir目录名#创建单个空目录mkdir-p目录1/目录2/目录三#创建多级目录这是演示第一个命令注意创建文件时要加后缀比如 .c // .py // .java创建完后的文件时是未被跟踪的用git status查看后是红色的至此我们的工作区创建完毕接下来创建本地仓库。3. 初始化仓库第一步初始化一个仓库(repository)来管理这个项目在命令框里输入下面的代码gitinit然后你就会看到生成一个隐藏文件夹**.git**和这样一段代码见下图如果没有看见隐藏文件要自己打开查看–显示–隐藏的项目4.添加文件创建一个 .txt 文件并写上一句经典的hello world,然后继续在bash里面输入下面这行代码gitaddfile这个命令是将我们的文件添加到暂存区等待操作注意一个文件如果没有通过add添加那么它就是未被跟踪的但如果添加了那么它就会一辈子被Git跟踪或者说管理添加后显示绿色4.1 git add怎么用单独添加某个文件git add Test.txt单独添加名为Test的文件(记住要加上后缀)添加此工作区所有文件git add .加个通配符 . 英文句号即把当前工作区的所有文件都放入暂存区注意所有的 . 前面都有一个空格3.2 添加错了怎么办如何让一个文件取消被跟踪gitrmfilename保留目录但是不被跟踪用这个git--cachefilename依旧想要跟踪只是不小心添加到暂存区了如何拿回来拿回特定文件gitreset HEAD filename拿回所有文件gitreset HEAD --.5.提交文件到本地提交代码gitcommit-mmessage将暂存区所有文件提交到本地仓库后面的里面的东西是你对你这次提交的一个说明可以输入任意内容但是最好写更改了什么方便自己看提交记录时不会蒙圈。白色框框就是提交时的留言前面可以理解为操作的ID这个ID在我们需要回退版本的时候要用下面一行显示改变了多少文件后面的±表示相较于之前是更改了还是删除了撤销提交gitreset head~--soft这个指令可以撤销我们的提交但是不能撤销第一次提交其他的都可以这样撤销后文件会有暂存状态不加soft则没有暂存状态head是当前提交~上次提交~2倒数第二次提交--hard不只是取消提交之前的修改也全部取消了彻底回到上一次提交的状态慎用会数据丢失6.修改已经提交的文件如果你动了就相当于把它从仓库里拿出来并放到工作区里了想要再放回去就要再经历一遍git add-git commit了7.查看提交记录这个指令可以查看所有的东西#指令gitlog这个指令将美化我们的输出加上--prettyonline使结果输出为一行gitlog--prettyoneline这一段是对 log日志的高度自定义输出gitlog--prettyformat:%h -%an,%ar:%s下面解释这段指令方便自己DIY%h--------------简化哈希%an------------作者名字%ar------------修订日期多久以前%ad-----------修订日期%s-------------提交说明%H------------提交的完整哈希值这一段指令使输出图像化在分支多的时候很好用基础使用不影响gitlog--graph红色框框就是使用树状结构表示提交记录如果有分支会向斜处延申。8.版本回退gitreset--hard版本号1 先用git log获取版本号2 再用git reset --hard进行版本回退3 如果我使用clear清屏了再用git log你会发现没有我们的第三次提交了那如果我们还想回到commit-3咋办可以试试git relog来获取版本id4 版本回退9.分支的使用9.1 查看本地分支gitbranchgit log 也能查看当前分支//还有其他的写法gitbranch--list9.2 创建本地分支gitbranch 分支名9.3 切换分支gitcheckout 分支名注意我们现在在develop分支上创建一个新文件hhhh.txt提交到对应仓库那么它将在develop分支上可见在main 分支上不可见或者说没有创建两个分支环境是独立的9.4 新建一个分支并切换到那个分支gitcheckout-b分支名9.4 合并分支gitmerge 分支名称注意是将你填的这个分支合并到你当前分支。示例是将develop合并入main合并成功后两个分支都可以看到hhh.txt合并成功的前提是两个文件没有在同一行同时更改不然就会冲突下面依旧给个实例我分别在两个分支的hhh.txt写入了哈哈哈和嘿嘿嘿并且完成了提交现在出现了报错如下显示hhh.txt这个文件冲突此时就要去手动更改了9.5 删除分支gitbranch-d分支名gitbranch-D分支名(强制删除)手动更改完冲突就可以删除10.暂存区的使用当你写代码写到一半老板叫你去修一个bug怎么办这个时候就需要我们的暂存区了gitstash# 储藏我们写道一半的代码先储藏在换分支改bug改完拿回来gitstash apply我们也可以存储多次可以使用下面的指令来查看储存了几次gitstash list最近的是0怎么拿回特定的gitstash apply stash{0}删除特定的stash次数gitstash drop stash{0}五、Git 的 远程使用GitHub示例1.托管服务是什么代码托管服务是一种在线平台核心功能是存储和管理代码并提供团队协作和版本控制工具让开发者可以追踪代码修改、多人协作开发并且避免冲突。主流的托管服务平台有GitHub、Gitee、GitLab等等。GitHub是全世界最大的开源代码托管平台其基于 Git 这个强大的版本控制系统不仅能存放代码更是全球开发者的交流、学习、共建项目的核心阵地。2.注册账号Github的服务器位于海外所以有时不太好进所以需要一点办法比如Watt Toolkit等等Github官网注册按照他的流程来就行太多了就不细说3.创建仓库我们拥有了一个账号就可以来创建远程仓库了4.使用SSHssh是一种安全外壳协议一种加密的网络传输协议可以为我们向远程仓推送或者拉取提供保护。下面来配置SSH打开Git Bash输入下面的代码并根据提示一直按回车ssh-keygen我这有问题待写。。。5.远程使用仓库别名仓库地址5.1关联远程仓库gitremoteadd远端名称 仓库路径# 远程仓库名是你要给远程仓库取的名字# 仓库路径可以选择https或者ssh直接复制在后面就可以# 查看远程仓库名是否建好gitremote# 如果命名错误可以用下面的指令更改前面是之前的后面是改正后的gitremote 错误名 改正名# 如果想要删除远程仓库别名也可以用下面的指令gitremoterm鼠标中键复制别忘了我用https来演示这一步是将本地仓库与远程仓库关联如果没有本地仓库则可以直接用git clone将远程仓库克隆到本地不知道远程仓库的地址又不想去看怎么办# 查看远程仓库别名gitremote-v# 方便又快捷5.2推送代码到远程仓库关联好仓库后就可以将我们之前写好的代码推送到GitHub上存储了虽然我们啥也没写嘿嘿gitpush 仓库别名/仓库地址 本地分支名:远程分支名# -f 表示强制覆盖远程的历史提交# -u/--set-upstrea 推送到远程并同时建立起和远端的联系# 意思是以后再推送同样的分支只用写 git push 就可以# 后面的远程分支名可以不写默认如果没有就新建eggit push origin main这个就是把本地分支main推送到远程仓库的默认分支空仓库会使用main5.3克隆gitcloneurlurl 可以填那个项目的https或者ssh克隆后会在你的目录里生成一个和克隆项目同名的文件夹里面有个.git文件如果不想用项目名可以在网址后面加上项目名注意有个空格。注意要克隆的文件夹不要用git init初始化克隆后可以发现可以看到别人的提交记录你也可以新建一个分支作为自己的开发分支5.4抓取和拉取建好自己的开发分支后就要切换到自己的分支并且要保持自己分支内容是最新下面介绍几种方法保持项目的最新1.先抓取然后比较最后合并抓取是将远程更新的代码抓到本地不进行合并# 远程分支名不指定则抓取所有分支gitfetch[远程仓库别名]#抓取远程仓库所有更新gitfetch[远程仓库别名][远程分支名]#抓取特定分支更新gitfetch[远程仓库别名][远程分支名]:[新建分支名]# : [新建分支名] 这个选写写代表把远程的分支内容下载到新建的分支上先把远程的拉到本地比较一下gitlog 分支A..分支B# 比较分支A和分支B的差别gitdifftemp# temp是那个新建的分支下面是和当前分支比较的代码比较完记得删除次分支# 查看当前分分支和temp分支的差别然后将其向本地当前分支合并gitmerge temp2.一步到位可以用下面的代码一步到位但可能会出现冲突gitpull[远程仓库别名][远程分支名][本地分支名]# 感觉 git pull git fetch git merge# 本地分支名不写就是默认当前分支# 解读将远程仓库的远程分支和本地分支合并5.5解决冲突冲突原因在一段时间内两个人修改了同一行的代码或者一个人在修改某一函数的时候另一个人也在同一时间修改了同一函数且A先提交B后提交此时就会发生合并冲突。现在我们来解决一下上面直接合并碰到的冲突一般流程先将远程最新的代码拉到本地然后解决冲突解决完合并后重新推送到远程仓库我们可以用git status来查看哪些地方发生了冲突both modified: filename# 这个文件就是都被修改了的可以使用cat filename来查看文件内容解决冲突很复杂可以看这篇图文并茂的文章【Git教程】六分支合并 —— 合并过程各类合并冲突及解决思路 ~六、Git配合VScode使用如何下载和使用中文我就不赘叙了只提供下载地址VScode下载项目演示的是GitHub已提前登录并创建了远程库打开对应文件夹并找到左侧的第三个按钮源代码管理直接点击初始化我们就新建了一个仓库然后直接写代码写完会看见下面类似然后我们可以添加这个项目到我们的远程库点击会自动搜索并显示你拥有的远程库选择可以给你提交的仓库命名选择后直接可以推送到远程仓库当然Github可能需要一些科学上网一般也可以用Watt Toolikt就可以微软商店有七、Git常用命令汇总Git的使用前#Git下好后确认版本和是否安装完毕git-v#Git 配置用户名和邮箱全局一次配置一直使用gitconfig--globaluser.nameJohn Doegitconfig--globaluser.email johndoeexample.com#配置完后的检查gitconfig user.namegitconfig user.email#需要获取帮助有三种等价的方法可以找到 Git 命令的综合手册manpagegithelpverbgitverb--helpmangit-verb# verb是什么比如add# 若要获取简单的手册下面是很好的指令githelp# 例如要想获得 git config 命令的手册执行githelpconfig#切换Git使用的编辑器gitconfig--globalcore.editor emacsGit 的简单使用方面touch文件名.后缀#创建单个空文件mkdir目录名#创建单个空目录mkdir-p目录1/目录2/目录三#创建多级目录# 初始化仓库gitinit# 添加文件进入缓存区gitadd* 添加所有gitadd.添加所有文件常用gitaddfile-name 添加特定文件gitadd*.c 添加特定类型的文件# 将缓存区的文件拿回工作区gitreset filename 指定文件gitreset --.所有文件# 查看文件状态gitstatus# 提交文件进入仓库gitcommit-mmessage# 撤销本次提交gitrevert HEAD# 查看日志gitlog 默认gitlog--prettyoneline 一行输出gitlog--prettyformat:%h -%an,%ar:%s高度自定义输出git--graph版本线图形式输出Git的版本控制gitreset--hard版本号/哈希值gitreset --hard~1 回退一个版本可以类推Git 的分支管理# 查看分支gitbranch 本地的分支gitbranch--listgitbranch all 所有分支# 新建一个分支gitbranch 分支名# 切换分支gitcheckout 分支名# 新建一个分支并切换到那个分支gitcheckout-b分支名# 删除一个分支gitbranch-d分支名gitbranch-D分支名 强制删除#合并分支gitmerge 分支名Git 的远程使用# 克隆远程仓库gitcloneurl# 推送本地代码到远程仓库gitpush-ugitbranch-vv#查看本地分支和远程分支的关系# 模拟推送不会真的执行推送操作只是检查是否可以成功推送。gitpush --dry-run origin master# 如果本地仓库的历史与远程仓库不一致可以使用 --force 强制推送。gitpush--forceorigin master# 推送所有本地标签到远程仓库gitpush--tagsgittag v1.0#创建一个标签gitpush--tags#推送到远程仓库还有没有总结待补充。。。注意部分内容来自AI有错误可以私信博主进行更改没有奖励嘿嘿注10月9日修改部分内容参考文献深入 git 必看git 是如何被创造的讲述 git 的诞生史、核心思想及其父Linus TorvaldsGit 命令大全「全面且实用值得收藏」B站给傻子的git教程B站黑马程序员Git全套教程完整的git项目管理工具教程一套精通gitGit的基本使用及基本流程(平台为GitHub)【Git “push“ 命令详解】git clone、git pull和git fetch的用法及区别git详细使用教程【Git教程】六分支合并 —— 合并过程各类合并冲突及解决思路 ~
RELATED

相关推荐

PCA9422与PIC18F87J11嵌入式电源管理设计实战

PCA9422与PIC18F87J11嵌入式电源管理设计实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/10 1:29:15
Zeek 社区 ID(Community ID)连接日志字段:community-id-logging 脚本原理与实战指南

Zeek 社区 ID(Community ID)连接日志字段:community-id-logging 脚本原理与实战指南

网络安全网络IDS 【免费下载链接】zeek Zeek is a powerful network analysis framework that is much different from the typical IDS you may know. 项目地址: https://gitcode.com/gh_mirrors/ze/zeek 点击查看 免费下载 社区 ID(Community ID&…

📅 2026/10/10 1:29:15
Azure AI Travel Agents 案例研究:用 MCP 编排多 Agent 旅行规划系统的参考实现

Azure AI Travel Agents 案例研究:用 MCP 编排多 Agent 旅行规划系统的参考实现

教程文档人工智能 【免费下载链接】mcp-for-beginners This open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for deve…

📅 2026/10/10 1:29:15
MORE NEWS

更多资讯

📰

基于 Agones 的多集群游戏服务器统一分配端点(Allocation Endpoint)代理实战指南

游戏开发云原生 【免费下载链接】agones Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes 项目地址: https://gitcode.com/gh_mirrors/ag/agones 点击查看 免费下载 导读:本指南以 Agones 仓库中 examples/allocation-…

📰

Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场

Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场凌晨告警:进程没了。翻日志,最后一行戛然而止,没有任何 Java 异常栈——因为它压根不是"抛异常"死的,是崩死的(SIG…

📰

ncm转mp3怎么弄?亲测7种实用方法,简单易学

上周收到一条网友私信,附了张照片——便签纸上歪歪扭扭写着:“下了两百多首歌,全是ncm,车机放不了,咋整?”便签旁边还画了个哭脸。 这个问题我太熟了。网易云音乐下载的歌曲默认存成.ncm格式,属…

📰

酷狗kgg转mp3怎么弄?7个靠谱方法图文详解

真急人! 昨天下午收到一条网友私信,说他晚上要开车回老家,想把酷狗下载的几十首歌转成mp3放U盘里路上听,结果折腾了一下午一个都没转成功。他随手在便签纸上写了几个问题拍给我——"格式不支持""转换后没声音&quo…

📰

湖州高端定制浴室柜定制工厂实力公司推荐 本地靠谱服务商

高端定制浴室柜怎么选?湖州业主必看的定制工厂科普与避坑指南 在湖州及周边区域的家装过程中,浴室柜作为卫浴空间的颜值担当与收纳核心,越来越受到业主重视。然而市面产品鱼龙混杂,成品柜、贴牌柜、代工柜层层加价、品质参差,如何…

📰

32位ODAC免安装拷贝版配置与避坑指南

简介:ODAC1120320Xcopy_32bit.zip 是面向 .NET 开发者的 Oracle 数据访问组件离线安装包,对应 Oracle 11.2.0.3 版本,专为 32 位 Windows 环境准备。它解决的是在未安装完整 Oracle 客户端的情况下,让 .NET 程序通过 ODP.NET 连接…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬