TortoiseGit使用视频教程的实践
今天精神好很多~~又无耻地过来凑博客数了,不然有排都写不够1000,真是艰巨的任务(= =)
其实就是对B站说的内容做个测试,我先写下总结,至少有点自己的东西嘛,有点像观后感,哈哈哈~
视频里面讲了五个场景:
(昨天如果有写重复的,以这篇我头脑清晰的为准)
一、我的总结
1、场景一:仅一人工作
新建自己本地分支,合并到dev分支
流程:
(1)以dev分支为基础,创建自己本地分支,如:Branch_ljy (2)在本地分支,写代码,提交,推送到远程分支:origin/Branch_ljy (3)本地将本地分支Branch_ljy合并到本地dev,即: 本地切换到dev,选择merge,选择合并的分支:Branch_lljy (4)最后 commit,push,推送到远程dev
2、场景二:多人工作 --- 改同一个文件
下面我以这个场景做测试实践
流程:
大前提:dev、自己测试分支,该文件内容一开始是一摸一样的!!! (1)远程dev改了文件内容,新增一行为abc(模拟有人写好自己分支内容推送上来的情景) (2)本地同步远程dev,到本地dev (3)本地切换自己测试分支,在该文件新增一行efg(这里是看不到abc那行的),然后推送到远程自己的测试分支。 结果:检查远程自己测试分支,有efg行,但没有abc行 (4)本地测试分支,合并到dev分支报错 需要手动解决冲突, (5)所有冲突都解决完后,再提交到远程dev
3、场景三:多人工作 --- 线上新增一个本地没有的文件,本地也新增文件
情景介绍:
(1)有人在自己测试分支新增了一个文件,如2.txt,推送到远程dev
(2)我自己本地切换到我自己分支,是没有2.txt的,现在我又新增3.txt,推送到我远程的测试分支
(3)我切换到本地dev分支,合并我分支内容
——》 线上有2.txt,我本地有3.txt
解决方法:
a)远程解决
本地切换dev分支,先git pull 更新dev分支(这时本地会多了2.txt),
再 git push 提交,之后远程就有2.txt 和 3.txt
b)本地解决
本地切换我自己分支:只有3.txt,然后把dev分支合并(merge弹出的框,选择dev)
4、场景四:多人工作 --- 查看哪些人修改文件/目录
情景介绍:
查看哪些人修改过文件,目录,或者看看哪个家伙把你东西删了
解决:
右键文件或目录,选择:show log
5、场景五:多人工作 --- 远程人家创建了新分支,你没更新看不到
情景介绍:远程人家创建了分支,你本地看不到远程这个人家新建的分支
解决:用git fetch(获取),重新拉起所有分支
二、视频实践
下面以场景2作为实验,多人同时改 ljy.txt 文件
1、准备工作
确保远程dev、本地dev、远程测试分支:Branch_ljy 里的文件:ljy.txt 内容一致
![](https://img2022.cnblogs.com/blog/520218/202206/520218-20220628222953047-2130286116.png)
2、线上dev分支新增一行内容
有人改了这个ljy.txt,新增一行:
3、本地分支新增行
(1)先从dev拉取最新文件
右键 —— 【tortoisegit】 ——》 拉取dev
(2)然后切换到我本地的测试分支:Branch_ljy
注意:文件内容还是:1、准备工作的
没有最后那行“xxxx。。。。jiajia”
(3)在我本地分支(Branch_ljy)的ljy.txt 新增一行
提交到到本地分支,再推到远程:Branch_ljy,这里都没有任何问题
此时远程dev内容如下:
下面问题出现,想合并到dev分支报错
4、本地分支合并到dev分支,需要手动解决冲突
(1)本地切换到dev分支
(2)选择Branch_ljy 合并报错
(3)选择提交(commit),也报错
只能双击点进去该文件,手动解决冲突
(4)解决冲突过程:
假设我保留本地的,就用左边文件
之后就变绿了
最后选择 “标记为已解决”,关掉窗口
(5)重新提交
git commit ——》再git push(不push的话,线上dev内容不更新)
(6)大功告成:
检查: