TortoiseGit使用视频教程的实践

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 内容一致
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)大功告成:

检查:

 

posted @ 2022-06-28 22:28  windysai  阅读(60)  评论(0编辑  收藏  举报