一、准备工作
1.1、安装Sourcetree项目开发工具
请参考如下连接进行操作:
安装Sourcetree项目开发工具 https://coffeemilk.blog.csdn.net/article/details/123146447?spm=1001.2014.3001.5502
1.2、GitLab上配置SSH Key
请参考如下连接进行操作:
GitLab上配置SSH Key https://coffeemilk.blog.csdn.net/article/details/122732114
1.3、给Sourcetree添加SSH key

?注意:SSH密钥的路径一般是【C:\Users\自己电脑的用户名称\.ssh】

1.4、设置Sourcetree克隆项目的默认存储目录?

?二、Sourcetree中连接远程仓库操作项目(以GitLab为例)
2.0、克隆项目
【克隆】即从远程仓库的URL链接加载一个与远程仓库一样的本地仓库。
2.0.1、登陆GitLab复制需要克隆的项目链接

注意:如果要使用项目的SSH连接克隆项目,则首先需要按照上面《一、准备工作中的【1.2、GitLab上配置SSH Key】、【1.3、给Sourcetree添加SSH key】进行操作后才能正常使用》 。
2.0.2、Sourcetree克隆面板介绍

 
2.1、拉取、获取和提交、推送项目
2.1.0、将修改的代码提交到暂存区域

注意:这里的添加到暂存区类似于执行:git add 文件操作?
?2.1.1、将暂存区的内容提交到本地代码仓库
?2.1.2、拉取更新本地的项目仓库
?【拉取】就是将远程Git仓库所有信息都同步到本地仓库(包括提交记录、分支、标签等内容);而且会自动合并代码/分支。
【获取】就是将远程Git仓库所有信息都同步到本地仓库(包括提交记录、分支、标签等内容);但是不会自动合并代码/分支,需要自己手动合并。


2.1.3、拉取完成后再将本地的修改推送到远程仓库?


?2.1.4、登陆GitLab上查看推送结果


2.2、新建、切换、合并分支
2.2.1、新建分支

?2.2.2、切换分支

?

2.2.3、合并分支
注意:在合并分支前,必须将需要合并的分支拉取到最新的状态(这样操作可避免丢失重要文件,或覆盖其他成员的代码)。
示例:想要将本地新建的【Developer】分支合并到【Develop】分支,操作如下:
①将被合并的分支拉取到最新的状态;
②选择需要合并的分支后点击鼠标右键选择【合并Developer至当前分支】

?

?分支合并完成后在推送

?2.3、解决冲突
2.3.1、出现冲突的情况
? ? 出现冲突的情况:是有不同的项目成员对同一个项目文件进行了修改,其中一个成员提交了修改到远程仓库,另一个成员修改完成后拉取时就会报错(出现冲突)。
2.3.2、解决冲突
成员在提交了自己的文件修改到本地仓库后,在推送到远程仓库前拉取时,提示冲突,需要解决如下图所示:

?手动解决办法如下:
①点击【未暂存文件】下的文件打开查看,如下图所示:

?②建议是保留远程仓库的冲突内容,然后将自己新增的内容添加上,如下图所示:

③选中该手动解决完成后的文件点击鼠标右键,选择【解决冲突】-->【标记为已解决】?即可:




三、Sourcetree中的命令说明?
Sourcetree中的命令说明
序号 | 命令 | 说明 | 1 | 克隆(clone) | 从远程仓库的SSH或URL链接下载一个与远程仓库一样的本地仓库 | 2 | 提交(commit) | 将暂存区的所有文件保存到本地代码仓库 | 3 | 拉取(pull) | 将远程Git仓库所有信息都同步到本地仓库(包括提交记录、分支、标签等内容);而且会自动合并代码/分支[git pull=git fetch+git merge] | 4 | 获取(fetch) | 就是将远程Git仓库所有信息都同步到本地仓库(包括提交记录、分支、标签等内容);但是不会自动合并代码/分支,需要自己手动合并 | 5 | 推送(push) | 将本地仓库内容同步至远程仓库,推送(push)前必须先拉取(pull)一次,确保一致(因为这样团队成员间的代码才是最新的同步状态,这样能够避免很多不必要的问题) | 6 | 分支(branch) | 可以进行创建/修改/删除分支 | 7 | 合并(merge) | 将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消 | 8 | 贮藏(git stash)? ? ? ? | 保存项目的工作现场内容 | 9 | 丢弃(discard)? ? ?? | 放弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件 | 10 | 标签(tag) | 给项目增添标签 | 11 | 工作流(git flow) | 团队协作时,每个成员都可以创建属于自己的分支(branch),在确认无误后可提交到master分支或Develop分支 | 12 | 终端(terminal) | 可以输入git命令执行 | 13 | 检出(checkout) | 可以用于切换选定的不同分支 | 14 | 添加(add) | 添加文件到缓存区 | 15 | 移除(remove) | 移除文件至缓存区 | 16 | 重置(reset) | 回到最近添加(add)/提交(commit)的文件状态 | 17 | 资源管理器 | 可以查看当前项目存放在本机的路径 |
四、在 Visual Studio 中提取、拉取和同步项目
在 Visual Studio 中提取、拉取、推送和同步 | Microsoft Docs https://docs.microsoft.com/zh-cn/visualstudio/version-control/git-fetch-pull-sync?view=vs-2022
|