Git

Git基本原理:https://www.yuque.com/tintoki/gl9lfg/qidpe7

语雀的文章大致上简单的介绍了git的一些细节,但是我相信很多人学git只是为了把github当作一个仓库来保存自己的一些文件或者只是想知道git到底是怎么玩的,并不乐意花时间看那些生涩的概念。这篇博客主要介绍两种常用的Git图形化管理工具,相比于纯使用git命令行,这两个工具能更轻松的对文件进行管理。

一、图形化管理工具

Git Extensions 和 TortoiseGit 都是用于与 Git 版本控制系统集成的工具,两者之间的区别如下:

  • Git Extensions:Git Extensions 是一个独立的 Git GUI 客户端,它提供了一套图形用户界面 (GUI) 工具,用于帮助用户更轻松地使用 Git。Git Extensions 可以在 Windows 操作系统上使用,并提供了诸如提交、克隆、分支管理、合并等功能,同时还包括一些可视化的工具,以帮助用户查看提交历史和分支结构等。Git Extensions 是一个开源项目,可以免费使用,并提供了一些附加功能,如 Git LFS 支持等。
  • TortoiseGit:TortoiseGit 是另一个用于 Windows 的 Git GUI 客户端,它集成到 Windows Explorer 文件管理器中,允许用户在文件和文件夹上右键单击以执行 Git 操作。TortoiseGit 的设计目标是提供一种简单、直观的方式来管理 Git 存储库,特别是对于那些习惯使用 Windows 资源管理器的用户来说。TortoiseGit 是一个独立的项目,也是开源软件。

尽管两者是两个不同的项目,但它们都是为 Windows 操作系统开发的 Git 图形界面工具。用户可以根据偏好选择使用其中一个,或者甚至两者都使用,以根据具体任务和需求来执行 Git 操作。这两个工具的目标都是使 Git 更易于使用,并提供直观的方式来管理代码版本控制。

1.Git Extensions

1.1 下载和安装

参考链接(没啥技术含量,一直下一步就完事):

老版的Git Extensions安装包会在安装的同时提示一起安装Git和kdiff,现在比较新的版本应该是没有这个选项了,需自行安装。Git Extensions安装完成后打开软件可能会出现如下提示,安装额外运行时即可

第一次进入软件需要进行一些设置,链接文章中有很详细的介绍不再赘述,下图是我本地的一个setting界面,注意不同用户可能因为原始环境提示信息不同,一项一项照着repair即可

  • 第一行提示Git版本过旧,懒得更新了将就用没什么问题;
  • 第三行意思是需要配置比较工具kdiff,恰好我本地没有安装过因此检测不到,kdiff下载地址:[KDiff3 download | SourceForge.net],下载过后一直下一步即可。安装好kdiff后进行如下配置即可

  • 最后一行提示没有设置语言,点击repair选择简体中文即可;

当setting中的配置全绿即可开始使用

1.2 Git Extensions实战

参考文章:

1.2.1 创建本地库

进入本地需要上传到Github的目录中,右键选择创建新的仓库

默认直接创建即可

1.2.2 创建远程库

进入Github,新建仓库,填入仓库名和描述(可选)其他维持默认即可

创建仓库成功后,复制如下网址到剪切板

1.2.3 提交&推送

回到本地库的目录,右键选择Commit(提交)

输入提交信息(随便写写),然后选择提交并推送(提交是提交到本地仓库,推送是推送到远程仓库Github)

出现以下弹窗表明当前目录没有文件被修改,选择第一个即可

这一步表示提交到本地库成功,接下来点击“确定”进入推送到远程库的环节

本地库第一次推送到远程库的时候需要进行配置(实际就是告诉本地库推送的网址是什么),选择“是”

名称可以随意填写,网址使用刚才复制到剪切板的网址,填写完毕后点击保存出现如下弹窗,选择“是”(后续出现的选择分支、跟踪什么弹窗都默认选择“是”即可)

如果出现如下报错表明访问Github超时(没啥好的解决办法,可以稍微等会再试试),点击确定退出推送即可

image-20231102143832381

每一次推送都面临不成功的可能,在推送过程中遇到这种推送失败的报错是很常见的。不必过分担心,之前的内容修改已经保存到本地库,只需要后续等待网络稳定再推送即可(检验网络是否稳定的方法就是去访问Github,能访问成功就OK)

出现如下弹窗表明推送成功

在Github的仓库中也可以看到相应的文件

2.Tortoisegit

为什么有了Git Extensions还需要Tortoisegit?因为Git Extensions 右键菜单中只有对整个 Repository(仓库)的操作,但是没有 Tortoisegit 那样简便的网络仓库的(PULL 和 PUSH)(拉取和推送)的操作。Git Extensions具有项目代码的编辑功能,而Tortoisegit 完全是版本控制工具,无法对项目进行修改(需要借助其他工具编辑)。

2.1 下载和安装

参考文章:

2.2 Tortoisegit实战

2.2.1 新建git项目

(1)首先新建github项目(gitee操作类似不再赘述)

(2)新建完成项目以后打开项目,点击克隆、下载,复制这串地址

(3)在本地新建或直接选择需要上传的文件夹,右键进入文件夹内,右键新建版本库

(4)右键设置

点击右侧远端,将之前码云或者github上面的那串复制的http地址写入url以及推送url里面,先点击添加/保存,跳出的框不用做任何修改,直接确定

2.2.2 提交&推送

之后我们需要对仓库的内容进行更新,只需要先提交,再推送即可,需要注意的是,提交只是提交到本地版本库,并非提交到远程版本服务器,所以,要想在远程版本服务器上看到最新的修改,还需要推送;

我们新建的仓库在完成了1.1的配置之后还没有东西,我们这里来进行同步更新;

需要注意提交弹出框的日志信息一定要写(随便写点啥),不然无法选中提交按钮

在提交完成后会自动弹出推送框,直接选择即可

在推送成功后会出现创建拉取请求的按钮,此时直接关闭该弹窗即可

接着来到github对应仓库刷新,可以看到已经有了我们需要的文件


Q:同步和推送有什么区别?

A:提交commit指的是将本地的修改提交到本地库中,推送push指的是将本地的修改提交到远程库中,这是我们最常用的两个命令,更新作为小乌龟自增的命令,实际上就是继承了推送、拉取等动作(同步顾名思义就是保持本地和远端一致,保持一致的方法有很多,需要用户选择一种方式),一般不需要使用;


注意:git的使用当然并不只是这么简单,我们只是总结了日常最常用的动作,如果需要深入使用git还是需要掌握一定的git基本知识的,可以参考文章https://www.yuque.com/tintoki/gl9lfg/qidpe7进行学习;


2.2.3 问题汇总

推送远端报错

1
2
Updates were rejected because the remote contains work that you do  not have locally. This is usually caused by another repository pushing to the same ref. You may want to first integrate the remote changes  (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这是由于远端和本地不同步(很有可能是因为在Github手动添加了一些文件),解决方法很简单,只需要先将远端的pull下来(会自动合并不用担心文件被修改)

1
git pull origin master

重新push即可;


Git
https://gintoki-jpg.github.io/2022/06/27/工具_Git/
作者
杨再俨
发布于
2022年6月27日
许可协议