当前位置: 首页 > 编程日记 > 正文

TortoiseGit的使用详解

Git是什么,相信大家都很清楚。Git不就是分布式版本控制系统嘛?那你知道TortoiseGit是什么吗?下面我们就介绍一下TortoiseGit它是什么?如何使用?
  TortoiseGit其实是一款开源的git的版本控制系统,也叫海龟git。TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句,像git init、git add、git commit这些语句就通通不用记了。轻松使用鼠标,就可以完成代码的提交和上传。对于使用本地Git的新手来说,TortoiseGit更加简便,更加容易上手。
  Git的流程分为一个大循环和一个小循环。工作区就是我们一开始文件所存在的区域,然后选择添加文件后,文件就进入了暂存区,选择提交文件后,文件就进入了本地仓库,这是一个小循环。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。
在这里插入图片描述
  下面我用TortoiseGit来演示一些我们常用的git操作。
  创建仓库
在这里插入图片描述
  添加、提交文件到本地仓库
  新建一个111.txt文件,点击添加
在这里插入图片描述
  成功添加后,文件变成蓝色字样
在这里插入图片描述
  选择文件,点击提交
在这里插入图片描述
  输入提交的信息后,点击提交
在这里插入图片描述
  提交成功后,文件变成绿色字样
在这里插入图片描述
  当文件被修改后,文件变成红色字样
在这里插入图片描述
  查看、回溯历史版本
  多次提交后,我们可以查看每次提交的信息,并且可以选择版本进行回溯
在这里插入图片描述
  选择需要追溯的版本
在这里插入图片描述
  选择切换版本,把文件还原到之前的版本
在这里插入图片描述
在这里插入图片描述
  还原误删文件
  当把已经提交的文件误删了,可以进行还原
在这里插入图片描述
在这里插入图片描述
  上传、下载文件
在这里插入图片描述
  在这里输入你的仓库的https连接
在这里插入图片描述
  点击推送,可以上传文件;点击拉取,可以下载文件
在这里插入图片描述
  在推送和拉取文件时,可能会出现冲突。什么是冲突呢,就是你远程仓库的代码发生了改变,也就是你本地仓库的代码并不是最新的代码。举个例子,学生项目由A和B共同开发,此时的代码是1版本。A拉取了远程仓库1版本的代码,然后B也拉取了,B修改了代码然后重新上传到远程仓库,此时是2版本。然后A修改了,A想上传代码,发现冲突了,原因是A依靠的是1版本的代码进行了修改,而此时远程仓库的代码是2版本,这样当然会产生冲突。
  解决冲突的办法就是,先把远程仓库的2版本的代码进行拉取,然后TortoiseGit会列出冲突的文件代码,然后自己手动解决、选择自己需要的代码,右键选择解决冲突,最后再重新上传就可以了。

创建、切换、合并分支
  我们先解释一下分支的概念,一开始的分支是master分支,master分支是创建仓库时自动创建的分支,也是默认分支。Git通过HEAD指针的指向,来查看当前是哪个分支。master指针指向的是master分支,当master分支版本更新的时候,master指针就会后移,指向最新版本。
在这里插入图片描述
  假如我们新创建了一个dev分支,新创建的分支一开始是和当前的master分支的版本内容都是一样的。我们切换到dev分支,HEAD指针也会指向dev分支。
在这里插入图片描述
  不同分支之间的开发,是并行开发,互不影响的。我们也可以对分支进行合并,这叫做合并分支,把两个不同分支合并起来。
在这里插入图片描述
  下面我们来演示一下具体操作。
  创建分支
在这里插入图片描述
在这里插入图片描述
  切换分支
在这里插入图片描述
在这里插入图片描述
  合并分支:选择分支与当前分支合并,合并后的分支为当前分支
在这里插入图片描述
在这里插入图片描述

相关文章:

GIT常用命令大全

git config --global color.ui true //让git显示颜色//忽略特殊文件//.gitignore文件 # Windows: Thumbs.db*.egg*.egg-infodist//把该文件也提交到git$ git add -f App.class //强制添加被忽略的特殊文件。

svn和git的本质区别是什么

上边图中,跨越了区的箭头,它中间的区数据都会同步。例如:git checkout ,它是将本地仓库数据更新到暂存区和工作区的。

如何在Nginx中配置防盗链?

防盗链是一种防止网站资源被非法下载的技术。当用户尝试直接访问一个受保护的资源时,服务器会返回一个403 Forbidden错误,提示用户该资源受到保护,不能直接访问。这样可以避免用户通过搜索引擎或其他方式获取到未经授权的资源。通过以上步骤,我们可以在Linux系统中的Nginx Web服务器中使用Shell脚本实现防盗链的配置。这种方法可以有效地保护网站资源不被非法下载,提高用户体验,同时防止恶意攻击。在实际项目中,我们可以根据实际需求灵活配置受保护资源的URL和处理方式。

Git 的基本概念、使用方式及常用命令

Git的基本概念、使用方式及常用命令

Android 某个应用缺少特殊权限导致系统一直重启解决

系统一些应用会使用到特殊权限,这时候要在系统配置一下否则系统会一直重启。出现该问题的时候,系统一直显示开机Log界面,无法正常进入Android系统界面。下面一起分析总结一下吧。本文不仅正文有学习价值,后续的延伸介绍内容也是有学习价值的。framework 定义的所有 权限都是有定义包含 protectionLevel 等级的,主要等级有:普通,运行时,权限,特殊。

修改 Git 仓库的远程地址

注意:在执行这些命令之前,请确保你对新的远程地址已经拥有访问权限,并且确认地址正确无误。例如,要将远程仓库名为。

基于Ubuntu环境Git服务器搭建及使用

将客户端公钥id_rsa.pub内容复制到服务端.ssh/下新建文件authorized_keys里,这样我们在拉取推送代码时,就不需要输入密码了。在服务器终端输入如下命令,输入两次密码后(比如密码也是:git),一路回车就创建好了。客户端:windows10_x64、Ubuntu20.04。无论是服务端还是客户端都需要先安装git。服务器:Ubuntu18.04。

web安全,常见的攻击以及如何防御

XSS即Cross Site Scripting(跨站脚本攻击),攻击者通过各种方式将恶意代码注入到用户的页面中,这样就可以通过脚本进行一些操作。以后,基本就杜绝了 CSRF 攻击。当然,前提是用户浏览器支持 SameSite 属性。(1)为了防止这种攻击,表单一般都带有一个随机 token,告诉服务器这是真实请求。CSRF即Cross-site request forgery(跨站请求伪造)

使用Python实现发送Email电子邮件

这两段代码都是用于发送邮件的简单Python脚本,但第二段代码相对于第一段代码进行了一些优化和改进。第二段代码引入了附件的支持,使用了和模块,使得邮件可以携带更多类型的内容,包括文本和附件。引入了辅助函数,用于格式化发件人地址,支持设置发件人姓名。这样可以使邮件中的发件人信息更加友好和易读。使用Header对邮件主题进行编码,确保支持非ASCII字符的主题。同时,设置了头部,用于指定附件的处理方式,提高邮件的兼容性。第二段代码在处理附件时增加了对附件文件是否存在的检查,并在捕获异常时输出更详细的错误信息。

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

安装docker gitlab前确保docker环境,如果没有搭建docker请查阅“Linux docker 安装文档”可以看到在docker ps -a 打印中看到 容器ID ps 展示的容器ID只时原来的一部分。修改docker镜像的gitlab容器端口前需要把gitlab容器以及docker镜像关闭。通过容器ID就能找到containers下具体哪一个是gitlab容器的配置。修改config.v2.json、hostconfig.json文件。docker 下载 gitlab容器。

【Redis】Redis中执行Keys命令会有什么问题?

如果需要根据某种模式来获取键,更好的选择是使用更高效的命令,如SCAN命令,它使用游标方式迭代返回匹配的键,避免了遍历整个键空间的性能问题,并且可以逐步处理数据。KEYS命令用于检索匹配指定模式的所有键。如果匹配的键非常多,返回的结果列表可能巨大无比,占用大量的内存。在极端情况下,如果执行KEYS命令返回的结果集非常大,并且内存不足以容纳整个结果集,Redis服务器可能会发生内存溢出错误。如果KEYS命令运行时间较长或遇到大量匹配的键,会导致服务器长时间无法响应其他请求,从而对系统的可用性产生负面影响。

【Redis】Redis中的大key怎么处理?

在Redis中,大key是指存储了大量数据的键。处理大key可能会对Redis服务器的性能和资源消耗产生负面影响。询问这个问题,首先要知道redis的大key会有什么影响。大key占用的内存空间较大,当大量的大key存在时,会消耗大量的内存资源。这可能导致Redis服务器的内存不足,并触发内存溢出,从而影响系统的稳定性和性能。当读取或写入大key时,需要将大量的数据通过网络传输。对于大量的网络传输,特别是在高并发的情况下,会增加整体的延迟,并占用带宽资源。

【Java 基础篇】Java网络编程:文件下载详解

文件下载是指从一个网络服务器或远程位置传输文件到本地计算机或设备的过程。这些文件可以是文本文件、图像、音频、视频或任何其他类型的数据文件。文件下载在Web浏览器、移动应用程序和桌面应用程序中都是常见的操作。在Java中,您可以使用各种网络协议(如HTTP、FTP、SFTP等)来执行文件下载操作。下面我们将以HTTP协议为例,介绍如何使用Java进行文件下载。本文介绍了如何使用Java进行文件下载,以及文件下载的一些进阶功能和注意事项。

【Java 基础篇】Java网络编程:下载进度监控实现详解

下载进度监控是一种用户界面元素或功能,用于显示文件下载的实时进度。通常以百分比的形式显示已下载的数据量与总数据量的比例,让用户知道下载的进展情况。实现下载进度监控的关键是获取已下载数据的大小并将其与总数据大小进行比较,然后将结果以可视化的方式呈现给用户。下载进度监控是提高文件下载体验的重要组成部分。通过合理设置Range头部请求,并在用户界面上显示下载进度,您可以实现有效的下载进度监控功能。此外,要注意异常处理和性能,以提供更好的用户体验。

【Java 基础篇】Java Lambda表达式详解

Lambda表达式,也称为闭包,是一种匿名函数,它可以传递到方法作为参数,并且可以在方法中使用。它是Java 8引入的一个新特性,用于简化代码的编写,特别是在使用函数式接口时。匿名性:Lambda表达式没有显式的名称,因此可以被当做一种匿名函数使用。简洁性:Lambda表达式可以大大减少代码的冗余,使代码更加简洁。传递性:Lambda表达式可以作为参数传递给方法,从而实现更灵活的代码组织。除了Java标准库中的函数式接口,您还可以定义自己的函数式接口,以适应特定的需求。// 结果为8。

【Java 基础篇】Java 接口组成与更新详解

在Java编程中,接口(interface)是一种非常重要的概念。它允许类定义一组抽象方法,这些方法可以在不同的类中实现。接口在Java中起到了重要的角色,被广泛应用于代码的组织和设计中。本文将详细解释Java接口的组成和最新的更新,包括默认方法、静态方法、私有方法以及接口的使用场景。