1.获取并登录自己的gitlab账号
2.进入目标项目链接:
2.1单击Edit fork in Web IDE(有时候会缩放显示成Web IDE)–复制到自己的Your Projects
2.2克隆成功,点击clone-复制SSH
3.打开Sourcetree,点击clone,粘体SSH,选择本地文件夹
1.创建一个自己的分支
2.将自己的分支重置(hard reset)到master branch当前commit前面2个或n个点上


3.在自己的分支上添加一个新的文件,并commit, 记为a。
4.在自己的分支上对已存在的文件(非commit 新增文件)进行修改,并commit, 记为b。
5.在自己的分支上对已存在的文件(非commit 新增文件)进行修改,并commit, 记为c。
文件状态-在-文件资源管理器打开–新建/修改–暂存–添加commit信息–提交
6.将自己的分支的修改推到远端。

7.将自己的分支的两个修改(b和c)压缩成一个(squash)。
8.为自己的分支的修改写一条明确的符合规范的commit信息
①选择(提交b和c的前置提交)提交a-交互式变基

②选择提交c–用此前的squash–编辑信息–确定(如果commit信息未改变,选择交互式变基再点一次确定)

9.将这个改动推送到远端(git push -f)。
10.将自己的分支的修改rebase到master(git rebase -i)。
11.在rebase的过程中,将自己新增文件的commit a丢弃(git rebase -i)
方法一:在SourceTree上操作
①选择master-交互式变基

②选择提交a-删除

③选择想提交的修改内容-确定(如果commit信息未改变,选择交互式变基再点一次确定)

方法二:SourceTree+命令行

①点击命令行模式
②git log查看提交日志(确定提交a的提交位置:倒数第二)
wq
③git rebase -i HEAD~2 改变倒数2次的提交
双击提交a 按键d 已删除提交a
按键Esc :wq 回车
④进入sourceTree,提交a已经删除,只是还在显示,进行分支切换刷新(先进入master,再进入dev)
⑤选择master-交互式变基/变基
12.将自己的分支在本地丢弃
13.将自己的分支在远端丢弃
删除分支时,当前分支不能停留在要删除的分支上,要切换到其他任意分支,再去删除目标分支