TortoiseGit 入门指南02:创建和克隆仓库

news2024/11/16 5:48:16

图标

本节讲解如何使用 TortoiseGit 创建和克隆仓库。但在此之前,我们先来看下 TortoiseGit 软件的一个特色:图标。
TortoiseGit 会给 工作区 中的文件和文件夹叠加图标(Icon Overlays),图标反应的是这些文件和文件夹的当前状态。目前,共 9 种图标。
请添加图片描述
按照图中数字标出的顺序,其含义依次为:

  1. normal:正常状态,已经提交到 版本库 并且没再做任何修改。

  2. assume-valid:假定未修改状态,先知道有这么个图标,在后续 “提交对话框”一节的 Assume Unchanged,会详细讲解。

  3. added:已经添加到版本库的 暂存区

  4. modified:已修改

  5. deleted:从版本库中删除(工作区中仍存在)

  6. ignored:版本库忽略这些文件或文件夹

    在工作区的根目录下创建一个特殊的 .gitignore 文件,然后把要忽略的文件名或文件规则填进去,Git 就会自动忽略这些文件。

    不能上传到远程仓库的文件以及编译器产生的中间文件都可以用这个方法排除在版本控制之外。

  7. conflicted:发生冲突。合并、拣选和变基时可能会产生冲突,这个图标显示冲突的文件和文件夹。你现在可能还不清楚“合并、拣选和变基”这些词语,没关系,后面会详细的讲解。

  8. skip-worktree:跳过工作树,后续“提交对话框”一节的 Skip worktree 会讲解

  9. non-versioned:未跟踪且未忽略的文件或文件夹(尚未加入到版本控制库中)

在这段文字中,我反复提及了几个名词:工作区(workspace)、暂存区(Stage)、版本库(Repository) 。这是 Git 的基本概念之一,你可以忽略这部分内容,但是理解这些基本概念有助于理解 Git 的工作原理,从而更游刃有余的使用版本控制,而且这些基本概念一点也不难理解,我在这里简要说明一下。

假如你用 TortoiseGIt 初始化了一个仓库(先不必纠结如何初始化,后面马上讲到),这个仓库是一个名为 “MyProject” 的文件夹,如下图所示。

  1. 在 “MyProject” 文件夹中有一个隐藏的 .git 文件夹,这个文件夹称为 版本库
  2. “MyProject” 文件夹中除 .git 文件夹之外的所有文件夹和文件称为 工作区
  3. .git 文件夹中的 index 文件称为暂存区。对于使用 TortoiseGit 工具的情况,工具屏蔽了“暂存”这个概念。如果你对暂存区有兴趣,请参考 GIt 设计相关内容,这已经超出了入门指南的范畴。
    在这里插入图片描述

创建仓库

右键一个程序目录,在弹出的右键菜单中选择:Git Create Repository
在这里插入图片描述

可以创建普通 Git 仓库和裸仓库,裸仓库一般在架设服务器才会用到,通常开发者选择创建普通 Git 仓库(不勾选
Make it Bare(No working directories)),如下图所示:
请添加图片描述
创建一个仓库就这么简单。

克隆仓库

可以从 GitHubGitee 等 Git 托管平台上克隆别人的项目。比如可以使用网址 https://gitee.com/rtthread/rt-thread.git 克隆国产操作系统 RT-Thread 项目,步骤为:
在适当目录下右键:Git Clone...。弹出“克隆”对话框:

  • URL:要克隆的URL地址,可以单击 Browse 浏览。
  • Directory:本地目录,克隆到的程序会存在这个目录下,单击Browse浏览目录
  • Depth:选中创建浅克隆,克隆指定的提交次数
  • Recursive:初始化子模块使用默认设置克隆子模块
  • Clone into bare repo:克隆到裸仓库
  • No Checkout:克隆完成后不执行 HEAD 检出。这也意味着克隆结束后工作区为空。
  • Branch:克隆后将指向指定的分支(该分支必须存在)。
  • Origin Name:使用指定的名字作为远程仓库别名(默认使用的 origin
  • LFS:使用 Git LFS(大文件存储) - 仅当安装了 Git LFS时此选项才可用。
  • Load Putty Key:选中时会使用 Pageant 自动加载 putty 秘钥文件。单击...按钮可以浏览 putty 秘钥文件。









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跳表很难吗?手把手教你如何跳跃它!

文章目录 Ⅰ. 前言Ⅱ. 跳表(skiplist)1、什么是跳表2、跳表的发明历程3、跳表的搜索方式 Ⅲ. skiplist的算法性能分析1、理论准备2、性能分析(了解即可,主要记结论) Ⅳ. skiplist与平衡树、哈希表的比较Ⅴ. skiplist的…

【数字信号处理】线性调频Z(Chirp-Z,CZT)算法详解

CZT变换算法的引入 CZT算法的基本原理 注意:这里所要分析的复频谱点数为 M M M,这也是CZT变换之后的点数。

MySQL之DML和DDL

1、显示所有职工的基本信息: 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、列出最高工和最低工资。 5、列出职工的平均工资和总工资。 6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。 …

CentOS环境下的MYSQL8安装

MySQL 安装 参考连接:https://www.cnblogs.com/jasonx1an/p/16690866.html 下载 下载网址:https://dev.mysql.com/downloads/mysql/ 卸载 mariadb 查看 mariadb rpm -qa|grep mariadb卸载 mariadb rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps再…

深度学习调参技巧

一、常用的网络模型训练技巧? 使用更大的 batch size。使用更大的 batch size 可以加快训练的进度。但是对于凸优化问题,收敛速度会随着 batch size 的增加而降低。所以在相同的 epoch 下,使用更大的 batch size 可能会导致验证集的 acc更低…

Unittest加载执行用例的方法总结

目录 前言 方式1 方式2 方式3 方式4 方式5 方式6 方式7 总结 前言 说到测试框架,unittest是我最先接触的自动化测试框架之一了, 而且也是用的时间最长的, unittest框架有很多方法加载用例,让我们针对不同的项目&#xff0…

23 | MySQL是怎么保证数据不丢的?

以下内容出自《MySQL 实战 45 讲》 23 | MySQL是怎么保证数据不丢的? binlog 的写入机制 1、事务执行过程中,先把日志写到 binlog cache,事务提交的时候,再把 binlog cache 写到 binlog 文件中。 2、一个事务的 binlog 是不能被…

rust学习-所有权

运行程序必须管理使用内存的方式 (1)一些语言中具有垃圾回收机制,程序运行时不断寻找不再使用的内存 (2)一些语言中,开发者必须亲自分配和释放内存 (3)Rust 通过所有权系统管理内存…

Windows操作系统安全加固

Windows操作系统安全加固 一、安全加固基本思路1.1、安全基线1.2、系统信息审查 二、Windows安全配置加固2.1、漏洞修复——补丁安装2.2、漏洞修复——端口封禁2.2.1、windows高危端口加固实践——封禁135端口对外开放 2.3、安全配置加固——账号口令 一、安全加固基本思路 1.…

10.20UEC++/代理,单播,多播

构建一个无参无返回值类型的函数(也可以有参有返回值类型) 相对应的构建一个无参无返回值类型的代理

【计算机组成与体系结构课程设计】上机考试

1 (1) 针对图中的MIPS处理器数据通路(不考虑I/O),用红色或蓝色描出执行sw指令时的数据通路。(将该图下载到电脑,并用画图完成描线) (2) 写出执行sw指令时,各个元件控制端信号应该置什么值? 2 基于Minisys处理…

Qt保存代码

补全保存代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//字体按钮对应的槽函数 void Widget::on_fontBtn_clicked() {…

使用常见的三个命令分析线程的信息

目录 jps jstack.exe jvisualvm.exe jmc.exe 这三个都在jdk\bin文件夹中!!! 查看线程等待状态与信息可以采用3种常见命令。 本文中针对以下代码进行演示 package ChapterOne.test;public class Run3 {public static void main(String[…

Coggle 30 Days of ML(23年7月)任务四:线性模型训练与预测

Coggle 30 Days of ML(23年7月)任务四:线性模型训练与预测 任务四:使用TFIDF特征和线性模型完成训练和预测 说明:在这个任务中,你需要使用TFIDF特征和线性模型(如逻辑回归)完成训练…

图像处理-比特平面分层和重构

一、比特平面分层 像素是由比特组成的数字。例如在256级灰度图像中,每个像素的灰度是由8比特(一个字节)组成。如下图所示,一幅8比特图像由8个1比特平面组成,其中平面1包含图像中所有像素的最低阶比特,而平…

人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型,加载数据进行模型训练与预测

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型17-pytorch搭建ReitnNet模型,加载数据进行模型训练与预测,RetinaNet 是一种用于目标检测任务的深度学习模型,旨在解决目标检测中存在的困难样本和不平衡…

前端Vue仿京东淘宝我的优惠券列表组件 用于电商我的优惠券列表页面

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

C++之子类指向父类,父类指向子类总结(一百五十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

nginx配置例子-动静分离实例

动静分离实例 1.准备工作 步骤一:在 根目录/ 下 创建 目录data/www 和 data/image 步骤二:在目录www 下 ,创建a.html文件 步骤三:在目录image下,将图片拖到Xshell客户端,实现图片导入Linux,导…

ITIL 4—发布管理实践

2 基本信息 2.1 目的和描述 关键信息 发布管理实践的目的是使新的和变更的服务及功能均可用。 发布管理实践是为了确保组织及其服务使用者在符合组织政策和协议的前提下,服务可以正常使用而产生的最佳实践。 传统场景下,服务组件(包括基…