Git图解-常用命令操作
创始人
2024-05-29 15:08:48
0

目录

一、前言

二、初始化仓库

三、添加文件

四、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 

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

十一、管理修改

使用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 

切换分支

git checkout 

创建 + 切换分支

git checkout -b 

合并分支

将某分支合并到当前分支

git merge 

删除分支

git branch -d 

十五、项目分支操作

简化版

 

完整版

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操作

相关内容

热门资讯

电视安卓系统哪个品牌好,哪家品... 你有没有想过,家里的电视是不是该升级换代了呢?现在市面上电视品牌琳琅满目,各种操作系统也是让人眼花缭...
安卓会员管理系统怎么用,提升服... 你有没有想过,手机里那些你爱不释手的APP,背后其实有个强大的会员管理系统在默默支持呢?没错,就是那...
安卓系统软件使用技巧,解锁软件... 你有没有发现,用安卓手机的时候,总有一些小技巧能让你玩得更溜?别小看了这些小细节,它们可是能让你的手...
安卓系统提示音替换 你知道吗?手机里那个时不时响起的提示音,有时候真的能让人心情大好,有时候又让人抓狂不已。今天,就让我...
安卓开机不了系统更新 手机突然开不了机,系统更新还卡在那里,这可真是让人头疼的问题啊!你是不是也遇到了这种情况?别急,今天...
安卓系统中微信视频,安卓系统下... 你有没有发现,现在用手机聊天,视频通话简直成了标配!尤其是咱们安卓系统的小伙伴们,微信视频功能更是用...
安卓系统是服务器,服务器端的智... 你知道吗?在科技的世界里,安卓系统可是个超级明星呢!它不仅仅是个手机操作系统,竟然还能成为服务器的得...
pc电脑安卓系统下载软件,轻松... 你有没有想过,你的PC电脑上安装了安卓系统,是不是瞬间觉得世界都大不一样了呢?没错,就是那种“一机在...
电影院购票系统安卓,便捷观影新... 你有没有想过,在繁忙的生活中,一部好电影就像是一剂强心针,能瞬间让你放松心情?而我今天要和你分享的,...
安卓系统可以写程序? 你有没有想过,安卓系统竟然也能写程序呢?没错,你没听错!这个我们日常使用的智能手机操作系统,竟然有着...
安卓系统架构书籍推荐,权威书籍... 你有没有想过,想要深入了解安卓系统架构,却不知道从何下手?别急,今天我就要给你推荐几本超级实用的书籍...
安卓系统看到的炸弹,技术解析与... 安卓系统看到的炸弹——揭秘手机中的隐形威胁在数字化时代,智能手机已经成为我们生活中不可或缺的一部分。...
鸿蒙系统有安卓文件,畅享多平台... 你知道吗?最近在科技圈里,有个大新闻可是闹得沸沸扬扬的,那就是鸿蒙系统竟然有了安卓文件!是不是觉得有...
宝马安卓车机系统切换,驾驭未来... 你有没有发现,现在的汽车越来越智能了?尤其是那些豪华品牌,比如宝马,它们的内饰里那个大屏幕,简直就像...
p30退回安卓系统 你有没有听说最近P30的用户们都在忙活一件大事?没错,就是他们的手机要退回安卓系统啦!这可不是一个简...
oppoa57安卓原生系统,原... 你有没有发现,最近OPPO A57这款手机在安卓原生系统上的表现真是让人眼前一亮呢?今天,就让我带你...
安卓系统输入法联想,安卓系统输... 你有没有发现,手机上的输入法真的是个神奇的小助手呢?尤其是安卓系统的输入法,简直就是智能生活的点睛之...
怎么进入安卓刷机系统,安卓刷机... 亲爱的手机控们,你是否曾对安卓手机的刷机系统充满好奇?想要解锁手机潜能,体验全新的系统魅力?别急,今...
安卓系统程序有病毒 你知道吗?在这个数字化时代,手机已经成了我们生活中不可或缺的好伙伴。但是,你知道吗?即使是安卓系统,...
奥迪中控安卓系统下载,畅享智能... 你有没有发现,现在汽车的中控系统越来越智能了?尤其是奥迪这种豪华品牌,他们的中控系统简直就是科技与艺...