Git图解-常用命令操作

5 篇文章 0 订阅
订阅专栏
本文是Git的基础教程,涵盖了从初始化仓库、添加文件、版本控制流程到分支管理和解决文件冲突等核心概念。讲解了如何使用Git进行代码版本管理,包括查看文件状态、提交日志、回退版本以及如何处理开发过程中的文件冲突。
摘要由CSDN通过智能技术生成

目录

一、前言

二、初始化仓库

三、添加文件

四、Git 流程全景图

五、Git工作流程

六、工作区和暂存区

七、查看文件状态

八、查看提交日志

九、查看差异

十、版本回退

十一、管理修改

十二、修改撤销

十三、删除文件

十四、分支管理

十五、项目分支操作

十六、文件冲突

十七、转视频版


一、前言

接着上篇: Git图解-为啥是Git?怎么装?接下来,看下Git常用命令有哪些。

二、初始化仓库

Git操作前需要初始化仓库,用于存储版本管理的项目代码,目前Git仓库有2种类型:

  • 本地仓库:是在开发人员自己电脑上的仓库

  • 远程仓库:是在远程服务器上的仓库(跟团队其他成员共用,此处暂时不讲)

配置自己名称与邮箱账户,在公司一般是自己名称拼音与公司工作邮箱

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

 

初始化本地仓库

git init

 

命令执行后,会在当前目录下多了一个.git的目录,这个目录是Git本地仓库,用于跟踪与管理代码(文件),没事别手动修改这个目录里面的文件,容易改乱了,导致Git仓库给蹦了。  

 这里要注意,部分小伙伴电脑没勾选 隐藏项目 选项,会看不见 .git 目录

三、添加文件

仓库初始化好了,怎么将文件添加到仓库,并管理起来呢?

步骤1:创建一个普通文本文件

 步骤2:将文件添加到暂存区

git add readme.txt

步骤3:将文件添加到版本库

git commit -m "添加了readme.txt文件"

 简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。 git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件)

扩展

如果后续添加文件多了,可以使用下面命令

git add file1.txt
git add file2.txt file3.txt
git add .   当前文件夹下所有文件
git commit -m "add 3 files."

四、Git 流程全景图

五、Git工作流程

 

六、工作区和暂存区

在Git中进行 crud 操作时都需要执行 git add 文件这个操作,底层操作将操作文件添加一个叫缓存区区域中缓存,当操作完毕之后,使用 git commit 操作,进行统一提交,将编辑文件统一同步版本中

 

七、查看文件状态

问题:如何查看项目目前的状态?我在电脑前写了一段时间代码,用Git管理,中途上厕所,然后又去吃了个苹果,继续回来工作,不记得之前用Git干了些什么了?

git status # 查看当前git版本库的状态(查看缓存区中的文件内容)

八、查看提交日志

实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看

git log

 git log 命令显示从最近到最远的提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:

git log --pretty=oneline

 黄色长长的字符串是本次提交的commit id, 是Git使用SHA-1算法产生唯一标识符,能保证全球唯一

九、查看差异

如果一个文件知道被人修改了,但如果能看看具体修改了什么内容,自然是更好的
比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的`readme.txt`,所以,需要用`git diff`这个命令看看:

git diff # 查看不同版本之间的文件差异

十、版本回退

我们不断修改文件,不断的往版本库中提交文件。就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,你还可以选择读取前一关的状态。Git也是一样,每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为 commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit 恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

如果想回到上一个版本,应该怎么做呢?

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD^

 回到指定版本

git reset --hard <commit id>

 拓展需求: 如何回退到最新版本

十一、管理修改

使用Git修改文件,存在一个需要探讨的问题:二次修改

操作方式1:

第一次修改 -> git add -> 第二次修改 -> git commit`

操作方式2:推荐使用

第一次修改 -> git add -> 第二次修改 -> git add -> git commit

注意:建议在每次 commit 之前先检查是否有文件没有被 add

十二、修改撤销

git checkout -- filename`可以丢弃工作区的修改:-- 后面是一个空格

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作区的修改全部撤销,这里有两种情况: 一:readme.txt 自修改后还没有被放到暂存区(git add),现在,撤销修改就回到和版本库一模一样的状态; 二:readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次 git commitgit add 时的状态。

 注意: git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到 git checkout 命令

十三、删除文件

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了

git rm test.txt

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

删除完成后需要 commit

如果删除了想恢复,可以使用 reset 版本恢复

步骤1:本地删除没用的文件(查看状态)

 步骤2:先 add 以下(查看状态与步骤1进行比较)

 步骤3:提交删除文件

十四、分支管理

分支管理的是Git灵魂,开发必不可少基本操作,必须掌握。

为啥存在分支?因为项目成品经过这几个流程: 开发, 测试,上线,bug修改,多版本发布等。同一个项目不同版本同时开发,同时测试,同时上线,怎么确保在这种复杂情况下让项目能独立,又能相关关联执行下去呢?Git给出解决方案是分支管理, 每一个阶段就是一个分支,即可以相互独立,又可以相互合并。

查看分支

git branch

创建分支

git branch <name>

切换分支

git checkout <name>

创建 + 切换分支

git checkout -b <name>

合并分支

将某分支合并到当前分支

git merge <name>

删除分支

git branch -d <name>

十五、项目分支操作

简化版

完整版

master分支:用于版本的更新,当比较大的功能开发完成或者更新之后会有一次集体的发版,就会将所有的代码都合到master(有的公司也会用release分支发版,原理都是一样);

develop分支:一般是开发测试分支,在项目发版上线之前都会现在dev分支上统一进行测试,确保功能达标没有bug之后再推到master分支;

feature分支:用来做分模块功能开发,建议命名为feature-xxx,模块完成之后,会合并到 dev 分支;

hotfix/fixbug分支:是用来做线上的紧急 bug 修复的分支,建议命名为 hotfix-xxx。当线上某个版本出现了问题,将检出对应版本的代码,创建 Hotfix 分支,问题修复后,合并回 dev和master ,这里注意,合并到 master 的时候,一般要打上修复后的版本标签。

扩展阅读: 一种优雅的Git分支实践_git 分支管理最佳实践_浪飞yes的博客-CSDN博客

十六、文件冲突

分支1中有个文件跟其他分支文件一样,如果同时发生修改了,进行合并,就出现文件冲突问题。

 

 

到这,本篇就结束了,欲知后事如何,请听下回分解~

十七、转视频版

看文字不过瘾可以切换视频版: 4小时让你直接上手Git操作

Git 命令行学习笔记( 图解 )
qq_43515054的博客
04-05 744
学习git命令
git 常用语法
weixin_51933819的博客
09-30 864
拉取最新: 查看分支 Git fetch 取来变更 GIT rebase 最新的合并 git submodule update ./batch_v2 推送远程分支 提交到本地版本库 Git branch git checkout -b 分支名 每一个ticket都要新建一个branch git rebase origin/develop/sdk_api_2.x 保证每个都有一个新的提交(基于远程分支)把同步远程内容同步到本地 git add -u platform/drivers/ccm3
Git 常用命令图解
YiRong
11-11 6170
发表于:2012年11月10日  15:17 4   俄罗斯美女,遍布大街小巷。栗色或黄色的头发透着魔幻般的诱惑,一双蓝色的大眼睛深邃得像一湖清水。她们走在街上,飘逸的倩影,一路风姿绰约,就像在跳韵律操,让人心神荡漾。" src="http://ww4.sinaimg.cn/mw600/66fb02fcjw1dypytyvm0pj.jpg"> 幻灯播放 种族多元 美女辈出
Git 常用命令
weixin_34342905的博客
07-18 125
  Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。  本来想着只把最有用、最常用的 Git 命令记下来,但是总觉得这个也挺有用、那个也用得着,结果越记越多。   ...
世上最详细的git原理解释
xys2333的博客
04-10 1201
原文路径是https://www.cnblogs.com/cb0327/p/5066685.html 目录 1.提交 代码到远程仓库 2.将远程仓库代码更新到本地 3.更新到本地仓库时, 出现冲突,解决冲突 后记: 正文 本文背景,在实际项目中使用git已有一年,发现不少同事虽然会使用常用git指令,但并不理解每个指令对应的作用原理。今天静下心总结下git ...
git 学习笔记 - git 命令
weixin_45810135的博客
10-24 156
1-初始化一个Git仓库,使用git init命令。 2-添加文件到Git仓库,分两步: 2-1-使用命令`git add <file>`,注意,可反复多次使用,添加多个文件; 2-2-使用命令`git commit -m <message>`,完成。 3-要随时掌握工作区的状态,使用git status命令。 4-如果git status告诉你有文件被修改过,用git diff可以查看修改内容。 ...
Git图解常用命令
02-25
先用一幅图,从总体上描述主要git命令的工作流程workspace:本地的工作目录。(记作A)index/stage:暂存区域,临时保存本地改动。(记作B)localrepository:本地仓库,只想最后一次提交HEAD。(记作C)remote...
git常用命令操作图解
最新发布
05-08
git常用命令操作图解
Git命令指南:图解与常用操作
Git图解常用命令 Git是一个免费、开源的分布式版本控制系统,能够帮助开发者追踪代码的变化,协作开发项目。 Git的工作流程可以用一幅图来描述,主要包括workspace、本地仓库、暂存区域和远程仓库四个部分。 ...
git 命令图解
weixin_34112181的博客
03-10 220
git 命令图解   初始化版本库 git config user.name "lsgx" git config user.email "lsgxthink@163.com" git config core.editor vim git config core.paper "less -N" git config color.diff true git config alias.co check...
一张图展示 Git 常用命令.pdf
05-13
一张图展示 Git 常用命令.pdf
Git常用命令脑图
07-26
在学习过程中将Git一些基础经常使用的命令做成了脑图,没有涵盖所有命令,适合初学时候看一看。
Git命令图解
S1124654的博客
08-23 541
git 常用操作图解
Git 命令图解
lyfGeek的博客
03-08 289
Git 命令图解
常用Git命令大全思维导图
weixin_30436891的博客
06-13 316
开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家。 高清大图在线预览 http://img.blog.csdn.net/20160613140756568 高清大图下载地址 http://download.csdn.net/detail/m...
git常用命令及其图解
qq_41915936的博客
07-24 533
Git常用命令图解 本地操作命令 git add 命令 git add 文件名 将工作区的某个文件添加到暂存区 git add -u 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件 git add -A 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件 git add * 将当前工作区的所有文件都加入暂存区 git add -i 进入交互界面模式,按需添加文件到缓存区 git s
Git命令清晰图解
Mr_Gu的博客
08-24 320
Git是目前世界上最先进的分布式版本控制系统 远程仓库Remote、本地仓库Repository、工作区workspace、暂存区index等概念介绍。 远程仓库:作为代码的远程托管平台,列如githubgitlab等。 本地仓库:我们自己本地储存的一份代码,将远程代码fetch/clone后就会到本地仓库。 工作区:我们可以看到的和修改的就是工作区代码,通过切换本地仓库分支,该分支的代码就会加载到工作区。 暂存区:暂存区,或者叫待提交更新区,在提交进入Repository之前,我们可以把所有的更新放在
图解Git常用命令
肥嘟嘟的左卫门
12-09 359
WorkSpace:就是你的本地工作区啦 Stage:待提交区(暂存区) Local Repo:本地仓库 Remote Repo:远程仓库 WorkSpace—>Stage—>Local Repo—>Romate Repo 1,创建版本库 git clone <url> #克隆远程版本库 git init #在本地的当前目录里初始化git仓库 2,修改和提交 git status #查看WorkSpace的状态 git diff #显示WorkSpace和Stage中的
详细图解git指令
黑猫几绛的博客
09-23 390
以前看过一些git的语法,当时以为自己记住了基本用法,但是长时间不使用后忘得就差不多了。最近在加入了一个校园组织后提交代码需要使用git,在一段时间的摸索中对于git有了较为清晰的认知。在文章中我们可以通过图像来更清晰的理解它。 首先通过git clone https:xxx 目标仓库中的代码,左边的表示自己克隆下来的本地仓库,右边表示远程仓库。 我们假设正在进行团队合作,你的队友neko在你克隆下来文件后,...
写文章

热门文章

  • 不用梯子,GitHub也能访问并提速 90327
  • 百度网盘加群图解教程 13527
  • 若依(ruoyi-cloud)脚手架解读,一篇精通,包票上手~ 9883
  • RESTful从入门到熟练,看完这篇就够了 6000
  • Oracle19C入门到熟练024-JDBC 5174

分类专栏

  • 入门Oracle19C 25篇
  • 技术杂项 30篇
  • Python爬虫小案例 3篇
  • Git入门图解 5篇
  • Spring Batch 极简入门 30篇
  • SpringCloud Alibaba极简入门 21篇
  • 简单学Java 8篇
  • 浅谈设计模式 27篇
  • MyBatis-Plus精讲 14篇
  • 浅谈springboot 5篇
  • IT培训日记 69篇

最新评论

  • 一篇文章让你上手Canal数据同步神技~

    林之在: 请问canal 是否无法意识到MySQL服务关闭了,或者有问题? 在运行项目后,关闭MySQL后,仍然会运行

  • Spring Batch 作业重启

    bzw6175: 你好,看了视频,请问下我以两种方式定义job并启动,分别是: 方式1:@Bean public Job job(){ return jobBuilderFactory.get("job-allow-restart-job3") .start(step1()) .next(step2()) .build(); } public static void main(String[] args) { SpringApplication.run(JobAllowRestartJob.class, args); } 方式2:JobParameters jobParameters = new JobParametersBuilder(jobExplorer) .addString("name", "2") .toJobParameters(); JobExecution jobExecution = jobLauncher.run(apiJob, jobParameters); 两个方式的step都添加了.allowStartIfComplete(true),然后以方式1的形式, job可以重启。 但是,以方式2的形式创建的job,即使添加了.allowStartIfComplete(true), 也无法重启。请问这是为什么?

  • 百度网盘加群图解教程

    2401_86971752: 938704701

  • 一篇文章让你上手Canal数据同步神技~

    代码之王: 非常有魄力的application-name

  • 来,手把手教你换装Swagger2/3

    雪花算法: 飞哥出品必属精品

最新文章

  • 百度网盘加群图解教程
  • 若依(ruoyi-cloud)脚手架解读,一篇精通,包票上手~
  • 一小时让你Get到面试套路:记一次Java初中级程序员面试流程梳理
2023年45篇
2022年116篇
2021年77篇
2019年7篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪飞yes

我对钱没兴趣~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家江苏商场美陈哪家好玻璃钢维纳斯雕塑南昌仿铜玻璃钢雕塑安装畅销的玻璃钢花盆水中玻璃钢雕塑的弊端杭州卡通玻璃钢雕塑厂家北京水果玻璃钢雕塑图片玻璃钢大型雕塑设计特别推荐鸡西雕塑玻璃钢卡通铜铸雕塑和玻璃钢雕塑价格佛山玻璃钢雪梨雕塑南京商场玻璃钢雕塑公司哪家好扬州商场户外美陈天津佛像玻璃钢雕塑定制玻璃钢雕塑和金属雕塑河北创意玻璃钢雕塑生产厂家玻璃钢现代抽象雕塑直销批发湖北玻璃钢雕塑货源推荐温州商场美陈费用定制玻璃钢雕塑费用是多少玻璃钢做雕塑的好处玻璃钢雕塑四大天王宿州玻璃钢造型雕塑新疆玻璃钢雕塑那家好鼓楼商场美陈道具山东步行街玻璃钢雕塑销售电话青岛大型玻璃钢雕塑摆件沧州仿木玻璃钢雕塑树脂玻璃钢雕塑加工厂玻璃钢雕塑修补沈阳香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化