小白入职 必要熟悉 Git / tortoiseGit 工具
1.安装Git
1.1 了解Git
- Git是分布式版本控制系统,没有中央服务器的
- 每个人的电脑就是一个完整的版本库,工作时无需联网
- 可多人协作,只需把各自的修改推送给对方,就可以互相看到对方的修改了
分布式版本控制工具管理方式:
1.2 git 工作流程
一般工作流程如下:
- 从远程仓库中克隆 Git 资源作为本地仓库
- 从本地仓库中checkout代码然后进行代码修改
- 在提交前先将代码提交到暂存区
- 提交修改,提交到本地仓库(保存修改的各个历史版本)
- 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库
2.TortoiseGit 软件安装
2.1 tortoisegit的介绍:
- 完全兼容Git的命令行操作
- 可以用于执行常规任务,如提交、查看日志、差异比较、创建分支和标签、创建补丁等
- 它还支持与远程仓库的交互,如推送(push)和拉取(pull)操作
2.2 下载
官方下载地址:https://download.tortoisegit.org/tgit/
3.安装中文语言包
安装完一般要重启一下电脑
4.使用 git 管理文件版本
4.1 创建版本库(repository)
- 版本库又名仓库,英文名repository
- 可简单理解成一个目录,其中每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”
- 由于git是分布式版本管理工具,所以git在不需要联网的情况下也具有完整的版本管理能力
4.2 创建一个版本库
首先,创建一个空目录(D:\Work\git\repository)。在当前目录中点击右键中选择Git Bash来启动
概念:
- 版本库:“.git ” 目录就是版本库
- 将来文件都需要保存到版本库中
- 工作目录:包含“.git”目录的目录
- 也就是 .git 目录的上一级目录就是工作目录
- 只有工作目录中的文件才能保存到版本库中
另外一种创建版本库的方式,使用TortoiseGit:
4.3 设置用户信息4.4 github 上创建share仓库
仓库名:share
echo "# share" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin https://github.com/heheda102410/share.gitgit push -u origin main
(1)从远程仓库中克隆 Git 资源作为本地仓库
从URL: https://github.com/heheda102410/share.git 克隆现有的版本库
(2)从本地仓库中checkout代码然后进行代码修改
在本地创建新的分支,叫做branch_01:
- 命令是:git checkout -b branch_01
可以从下图看出创建分支的同时,也切换到了branch_01分支了
注意:使用git checkout命令切换分支的时候,工作区里未受控的文件不变(比如新文件,以及未add的文件更新)
(3)在提交前先将代码提交到暂存区
(4)提交修改,提交到本地仓库(保存修改的各个历史版本)
git add .git commit -m "创建新分支branch_01初始状态"
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支
Git跟踪并管理的主要目标是修改变更,而非单个文件本身,比如,某次 commit是多个文件的更新,包括新建文件。
注意:如果文件被修改了,但是没有add,是不会被commit到存储库中的
当然这个步骤可以用tortoiseGit 来完成同样的效果:
首先,先回退一下版本,Git允许我们在版本的历史之间穿梭,使用
- 命令git reset --hard commit_id
我们想知道commit_id ,可以从tortoiseGit查看,也可以在git bash中用命令查看:
SHA-1: 6f0033c564c9e788416d39a64469372f37e36320
SHA-1: b7e41e1596094a36c85324cb7941afe221dd0fd8
- 要重返未来,用git reflog【另外一条类似命令为:git log --pretty=oneline】查看命令历史,以便确定要回到未来的哪个版本
$ git log --pretty=oneline
命令git reset --hard commit_id$ git reset --hard b7e41e1596094a36c85324cb7941afe221dd0fd8
之前:
回退commit后:
现在,我们已经体验了一把回退版本的美妙,我们继续来探索其他的命令是什么功能吧!
首先,先回到我们新建了一个文本heheda_test.txt的版本
执行完以上命令后,已经出现了有heheda_test.txt这个版本了。接着在当前目录中,新增两张图片,然后在空白处右键点击tortoiseGit的“Git commit(提交)...”
- HEAD指向的版本就是当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
上一个版本就是HEAD^$ git reset --hard HEAD^
上上一个版本就是HEAD^^$ git reset --hard HEAD^^
上上一个版本就是HEAD^^$ git reset --hard HEAD~2
- 使用
git log --graph --pretty=oneline --abbrev-commit
可以以图形的方式查看分支提交记录。比如:
git log --graph --pretty=oneline --abbrev-commit
多条commit合并成一条
$ git push --set-upstream origin branch_01
再创建一个分支,branch_02
推荐和参考文章:
切换为“合并分支”版本,那就会撤回1个视频
$ git push --force
$ git push --force-with-lease
使用 `-force` 被认为是有害的;了解 Git 的 `-force-with-lease` 命令_--force-with-lease-CSDN博客https://blog.csdn.net/LeviDing/article/details/76789443
对比branch_01仓库和main仓库,我们可以发现各自的存储内容都不太一样!
Git基础入门二:工作区和暂存区-CSDN博客
Git基础入门三:创建版本库和添加修改文件基本命令_使用git只添加修改文件的命令的是-CSDN博客
Git基础入门四:版本回退(撤销修改)_git clean -xdf 怎么撤回-CSDN博客
Git基础入门五:分支管理_branch 'dev' set up to track remote branch 'dev' f-CSDN博客
Git基础入门六:标签管理(git tag)_git label-CSDN博客
Git基础入门七:Git高级命令之Rebase_rebase是什么意思-CSDN博客
Git的安装和本地仓库基本操作使用详解(一)_tortoisegitplink,basedonputty;optimizedfortortoise-CSDN博客
如何使用TortoiseGit指北,一篇讲清 - 知乎 (zhihu.com)
相关文章:

小白入职 必要熟悉 Git / tortoiseGit 工具
1.安装Git 1.1 了解Git Git是分布式版本控制系统,没有中央服务器的每个人的电脑就是一个完整的版本库,工作时无需联网可多人协作,只需把各自的修改推送给对方,就可以互相看到对方的修改了 分布式版本控制工具管理方式ÿ…...

春秋CVE-2022-23906
简介 CMS Made Simple v2.2.15 被发现包含通过上传图片功能的远程命令执行 (RCE) 漏洞。此漏洞通过精心制作的图像文件被利用。 正文 1.进入靶场2.进入登录界面,弱口令admin/123456 3.进入后台,文件上传点 4.上传一句话木马图片 5.复制图片…...

JavaFX安装与使用
前言 最近学习了javafx,开始时在配置环境和导包时遇到了一些麻烦,关于网上很多方法都尝试过了,现在问题都解决了,和大家分享一下我是怎么实现javafx的配置,希望大家可以通过这个方法实现自己的环境配置! 🙈个人主页: 心.c 🔥文章专题:javafx Ὁ…...

漫画|基于SprinBoot+vue的漫画网站(源码+数据库+文档)
漫画网站 目录 基于SprinBootvue的漫画网站 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…...
python-项目实战
项目实战 1.外星人入侵小游戏 2.数据可视化 3.web应用开发 一、外星人入侵小游戏 需求: 开发大型项目时,做好规划后再动手编写项目很重要。规划可确保你不偏离轨道,从而提高项目成功的可能性。 在游戏《外星人入侵》中,玩家控制着一艘最…...
单片机原理及技术(一)—— 认识单片机(C51编程)
目录 一、单片机概述 1.1 什么是单片机 1.2 单片机的发展历史 1.3 单片机的特点 1.4 MCS-51 系列与 AT89S5x 系列单片机 1.4.1 MCS-51 系列单片机 1.4.2 AT89S5x 系列单片机 1.5 各种衍生品种的8051单片机 1.5.1 STC 系列单片机 1.5.2 C8051Fxxx 系列单片机 一、单片…...

白嫖的在线工具类宝藏网站清单,快点击进来收藏一波
简单整理了一下自己日常经常使用的10个免费工具网站,建议点赞关注收藏,快点分享给小伙伴们! 1.奶牛快传:用户体验更好的网盘工具。 https://cowtransfer.com/ 今年开始使用的一款网盘工具,和百度网盘类似,叫奶牛快传,如…...
【机器学习300问】97、机器学习中哪些是凸优化问题,哪些是非凸优化问题?
在机器学习的领域中,多数模型的参数估计问题实质上可以转化为优化问题。鉴于机器学习模型的多样性,不同的模型会对应着不同的损失函数,进而形成各具特色的优化问题。了解优化问题的形式和特点,对于提升我们求解模型参数的效率和准…...
两种盒模型
在CSS中,有两种主要的盒模型(Box Model),它们决定了元素的尺寸计算方式: 标准盒模型(W3C Box Model) 在标准盒模型中,元素的总宽度和总高度分别由以下几个部分组成: Cont…...

【C++】类型转换
目录 前言一、C语言中的类型转换二、为什么C需要四种类型转换三、C强制类型转换3.1 static_cast3.2 reinterpret_cast3.3 const_cast3.4 dynamic_cast3.5 RTTI 前言 本篇文章讲解的是C中对于C语言类型转换做出的一些更好的规范问题,同时也保证了在一些特殊场景下进…...
Redis RDB 持久化问题
前言 Redis 是内存数据库,它将自己的数据储存在内存里面,如果不想办法将储存在内存中的数据保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据也就没了。 因此,Redis 提供了 RDB 持久化功能,这个功能…...
windows 下nginx常用命令
1、启动,目录cmd,后 start nginx.exe 2.重新加载 nginx -s reload 3.查看状态 tasklist /fi “imagename eq nginx.exe” 4.关闭 nginx -s quit...
xjoi题库一级1-10段题解(c语言版)
xjoi题库一级一段 xjoi题库一级二段 xjoi题库一级三段 xjoi题库一级四段 xjoi题库一级五段...

1.int 与 Integer 的简单区别
蓝桥杯刷题从此开始: 第一题就是两个数的和,个人看来主要考察 int与integer 的区别; 这是我提交的答案,竟然会报错: import java.util.*; //输入A、B,输出AB。 class add {public static void main(String …...

单片机原理及技术(二)—— AT89S51单片机(一)(C51编程)
目录 一、AT89S51单片机的片内硬件结构 二、AT89S51的引脚功能 2.1 电源及时钟引脚 2.2 控制引脚 2.3 并行 I/O口引脚 三、AT89S51的CPU 3.1 运算器 3.1.1 算术逻辑单元(ALU) 3.1.2 累加器A 3.1.3 程序状态字寄存器(PSW)…...

某方protobuf闲谈
问题 当我们去看某方的时候,搜索了关键词svm,然后通过抓包查看,请求的Request Payload是一串看不懂的乱码,并且返回的数据也大部分是乱码 观察请求的Content-Type是application/grpc-web+proto,没错数据的传输是protobuf的形式了 protobuf的相关概念和原理,网上有很多教…...

专为汽车内容打造的智能剪辑解决方案
汽车内容创作已成为越来越多车主和汽车爱好者热衷的活动。然而,如何高效、便捷地将行车途中的精彩瞬间转化为高质量的视频作品,一直是困扰着广大用户的一大难题。美摄科技凭借其深厚的视频处理技术和智能分析能力,推出了专为汽车内容记录而生…...

【C语言】二叉树的实现
文章目录 前言⭐一、二叉树的定义🚲二、创建二叉树🎡三、二叉树的销毁🎉四、遍历二叉树1. 前序遍历2. 中序遍历3. 后序遍历4. 层序遍历 🌲五、二叉树的计算1. 计算二叉树结点个数2. 计算二叉树叶子结点的个数3. 计算二叉树的深度4…...

在ubuntu22.04里网站源码连不上mysql数据库
在ubuntu22.04里网站源码连不上mysql数据库。后来找到了原因。 连不上的时候有报错信息: ERROR 1698 (28000): Access denied for user rootlocalhost 用在网上搜索该报错信息,找到了两篇有用的文章,用这两篇文章里的处理方法解决了问题。 …...

博客说明 5/12~5/24【个人】
博客说明 5/12~5/24【个人】 前言版权博客说明 5/12~5/24【个人】对比最后 前言 2024-5-24 13:39:23 对我在2024年5月12日到5月24日发布的博客做一下简要的说明 以下内容源自《【个人】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...