当前位置: 首页 > web >正文

极简GIT使用

只为极简使用。

创建本地仓库

初始化git仓库

1.创建一个新文件夹

2.在文件夹内打开git bash

之后进入如下界面,输入git init,这样此文件就可以使用git了。

在此文件夹中,除了.git文件外,其他全部都是工作文件。

接下来将以一个名为“my_test1”的txt文件进行讲解。现在实现如下需求:该文件将被修改多次,并且有可能最后还是要回第一版(笑)。

提交文件

提交工作区的全部文件到暂存区。

git add .

将暂存区的文件全部提交到本地仓库,同时添加上注释。

git commit -m"注释"

该指令可以查看我们的提交记录,以及详细信息

git log

版本回退

如果修改多次后,想要回到前面的版本,那么只需要知道想要的版本的commitID即可回退到对应的版本。commitID可以通过git log进行查看

git reset --hard commitID

如果回退到之前的版本后,又想要后面的版本,可以git reflog查看所有的提交记录(包括已经删除)。找到你想要的commitID,然后再用git reset --hard commitID

创建忽略文件

简单理解,这个文件可以帮助我们过滤掉不想要git管理的文件类型

touch .gitignore

在该文件中,添加 “ *.想要文件后缀 ” 即可。

修改本地仓库文件

文件的修改

在文件夹内,直接修改就行。和正常的使用没区别。

上传修改文件

只需要记得文件修改完记得上传到本地仓库,目的是让git知道你修改了文件。

修改完文件后,当你打开git bash 用git status 查看状态时,会提示你,有文件被修改,提醒你把文件提交到仓库。如果你又不想修改了,那么只需要用 git restore就可以取消修改。

git add .提交到暂存区

使用git commit -m“注释”,同时补充上注释

查看状态。OK,大功告成

多线开发:分支

分支的引入

假设现在有两个人,a和b,共同开发一个项目,这个项目总共有两个功能,分别是a和b。于是,a单独负责开发X功能,b单独负责开发Y功能。两个人怎么实现单独开发呢?这就是分支的作用。

分支1,a开发X功能。分支2,b开发Y功能。最后两个人都开发完功能后,分支1和分支2合并为一个分支,于是项目就完成了。所以,多人协助,分支功能是必不可少的。

创建分支

创建分支的指令如下:

git branch "分支名"

这里输入git branch branch01,创建了一个叫“branch01”的分支。

输入git branch,可以查看当前存在的分支。master是默认分支。

此时如果输入git log则可以查看当前所在分支。虽然我们新建了一个名为“branch01”的分支,但是目前我们还是在默认的master分支上。HEAD指向谁,我们就在哪个分支上。

注意:我们在master分支上创建了branch01分支,其实就是相当于复制了一份一模一样的文件。也就是说,当前,master分支和branch01分支里的内容全部都是一样的

切换分支

切换分支的指令如下:

git checkout "分支名"

 提示成功切换

加强版指令。也是切换分支,这个指令更加方便。

git checkout -b “分支名”  ,切换分支,如果不存在则创建

成功创建并切换到新的branch02分支

git log查看当前所处分支。HEAD指向branch02分支

此时如果在branch02分支上创建一个created_by_branch02.txt文件,然后把该文件提交到本地仓库,那么这个文件只会存在于branch02分支上。其他分支无此文件。

ll查看所在目录的文件

提交至本地仓库

切换回master分支后,无created_by_branch02.txt文件。

分支合并

常用指令和基本操作

复制:直接选中就行,相当于ctrl C。粘贴:按下滚轮,相当于ctrl V。

清空屏幕:clear

查看当前目录下的文件:ll

创建文件:touch ”文件名+后缀“,如touch my_test.txt,创建一个my_test的txt文件。

更名文件名字

版本回退:git reset --hard commitID

http://www.xdnf.cn/news/3361.html

相关文章:

  • 【内存管理】对象树(内存管理)
  • (持续更新)Ubuntu搭建LNMP(Linux + Nginx + MySQL + PHP)环境
  • DeepSeek生成Word文档的创新路径与应用
  • 【计算机视觉】三维视觉:Nerfstudio:模块化神经辐射场框架的技术突破与实战指南
  • 操作系统OS是如何指挥外围设备的呢?
  • MySQL 服务搭建
  • Leetcode刷题记录25——合并区间
  • MySQL与分布式架构的碰撞
  • 使用MGeo模型高精度实现文本中地址识别
  • 题解:洛谷 CF2091E Interesting Ratio
  • Java 中使用正则表达式
  • 在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
  • 【计算机视觉】语义分割:Mask2Former:统一分割框架的技术突破与实战指南
  • Mysql常用函数解析
  • Annotate better with CVAT
  • 华为OD机试真题——斗地主之顺子(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 《TCP/IP详解 卷1:协议》之第九章:IP选路
  • 湖仓一体化介绍
  • 数据库基本概念:数据库的定义、特点、分类、组成、作用
  • 详解TypeScript中的类型断言及其绕过类型检查机制
  • 【Vue bug】:deep()失效
  • 如何提升自我执行力?
  • 拆解 browser-use 项目——深入理解 Agent 层
  • Linux 环境下 Mysql 5.7 数据定期备份
  • Kotlin-运算符重载函数
  • 生产级RAG系统一些经验总结
  • HTN77A0原理图提供聚能芯半导体禾润一级代理技术支持免费送样
  • 1295.统计位数为偶数的数字
  • SWIG 和 JNA / JNI 等 C 接口封装工具及进行 C 接口的封装
  • AnimateCC基础教学:二次贝塞尔曲线的绘制。