tortoiseGit教程

本文介绍了开源版本控制系统TortoiseGit的安装与使用,包括如何通过图形化界面简化Git操作,如创建仓库、提交、推送、忽略文件、分支管理和冲突解决。特别强调了在不同阶段的文件回退方法,以及如何处理push错误的情况。此外,还提及了cherrypick功能和在Git中利用Beyond Compare解决冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 前言

TortoiseGit其实是一款开源的git的版本控制系统,也叫海龟git。TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句,像git init、git add、git commit这些语句就通通不用记了。轻松使用鼠标,就可以完成代码的提交和上传。对于使用本地Git的新手来说,TortoiseGit更加简便,更加容易上手。
  Git的流程分为一个大循环和一个小循环。工作区就是我们一开始文件所存在的区域,然后选择添加文件后,文件就进入了暂存区,选择提交文件后,文件就进入了本地仓库,这是一个小循环。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。


1 安装

参照:

在windows下安装git中文版客户端并连接gitlab - 坤霸天下 - 博客园

需要的3个安装包的百度网盘链接:

链接:https://pan.baidu.com/s/1G-8Fb1g5ZsIsabtIJCwdyQ 
提取码:9eun

在本地客户端与远程仓库进行认证关联时,网上大部分都是选择公钥秘钥之类的登录方式,其实不必这么麻烦。直接用用户名、密码也可以做认证。用户名、密码与注册Gitee时的用户名、密码一致即可。

2 使用

主要的操作就是建立仓库、提交、推送、忽略文件、建立分支、合并分支等,高级一点的操作有cherry pick(摘取提交)等等 。掌握了这些,应对一般的开发也就够了。

 

 

 

 

 

 

 注意: 1.当使用“git checkout 分支名”命令时,Git会切换到指定分支。

回退情况1:文件在工作区进行回退

这里指的是文件没有经过任何提交,仅仅只是保存。但是保存完之后发现需要回退一下代码。

此时可以使用 git checkout filename 进行回退。(危险动作,三思

但如果后面接的是文件名或者路径,那么这个命令将会把暂存区中的内容拿出来去覆盖工作区的内容。  这样也就可以挽救工作区中不小心被修改的文件。

比如: git checkout abc.txt   就相当于把暂存区内的abc.txt拿出来替换掉工作区的abc.txt;.

git checkout  .     (注意这里有个点) 就相当于把暂存区内的所有内容拿来替换掉工作区

回退情况2:文件在暂存区进行回退

这里指的是文件经过git add 指令之后进入了暂存区。

此时可以使用 git reset HEAD 指令将暂存区的文件回退到修改之前的状态。(危险动作,三思)

 另外:git rm --cached <filename>是git add <filename>的反向指令!

回退情况3:文件在本地仓库进行回退

例如情况如下:

这里指的是文件经过git commit 指令之后进入了本地仓库。

此时可以使用 git log 查看本次提交之前的版本,并记住想要回退的版本的id。

然使用 git reset --hard commit_id (这里是 8c12) 指令将暂存区的文件回退到修改之前的状态。

回退情况4:文件已经在远程仓库中

这里指的是文件经过git push 指令之后进入了远程仓库。

一种补救的方法就是修改错误的版本,push一个新的上去就行。

另一种和情况3类似,通过 git reset --hard commit_id 回退本地版本,然后把旧的版本重新push上去。然而,此时的问题就是此时本地的版本落后于远程的版本。因此直接再使用git push的话是失败的:

 此时可以加上 -f 来强制推:git push - f

 这样就可以了!

2.1 建立仓库、提交、推送、忽略文件、建立分支、合并分支

参见:

08 git命令小总结_哔哩哔哩_bilibili

TortoiseGit常用的基本使用教程_哔哩哔哩_bilibili

Git22-TortoiseGit的使用_哔哩哔哩_bilibili

2.2 cherry pick(摘取提交)

tortoisegit根据指定版本号合并到指定分支上——cherrypick的使用 - 百度文库

2.3 在Git中使用beyond compare 高效解决冲突

3 案例

案例1,commit或者push错了,想更改:
1. 以dev分支为基础,建立自己的分支dev-mike:
   这时git log:
   commit id: 123a
   xxxx
   
   commit id: 2312
   xxxx
   
2. 在dev-mike新加功能代码完毕并运行测试后:
   git add .
   git commit -m "xxxxx"
   git push origin dev-mike   推到远端,
   
3. 此时git log 查看:
   commit id: abcd  (刚在dev-mike最新commit的ID, 远端也为这个版本.
   xxxx
   
   commit id: 123a
   xxxx
   
   commit id: 2312
   xxxx
   
4. 突然发现, 刚刚commit id: abcd中多提交了一个多余的文件a.txt,这个文件不该被推到远端。
   且刚刚在本地硬盘上删除了a.txt
   
5. 输入git checkout . 后,a.txt恢复到了硬盘上.

6. 使用git reset 123a --soft  或 git reset --soft 回退到刚commit之前的commit Id.
   注意:   --soft仅移动了HEAD, 对工作目录及暂存区均无影响.
   
7. 这时在本地硬盘上删除了a.txt, git status可以看到文件被删除的提示.

8. git add .

9. git commit -m "xxxx"

10. git push origin dev-mike -f  重推到远端,如果不加-f则会提示本地版本落后于远端版本,不允许推送.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

thequitesunshine007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值