SourceTree 教程

9/22/2023 SourceTreeTool

摘要

Git Version:2.34.1

# 一:Clone

# 1.1 账密

当填写完仓库地址时,如果本地没有存储相关的账号密码,则首次会弹出窗口要求输入个人账号密码。

clone 相关的文本框说明如下:

# 1.2 公钥

首先需要在 Gitee 平台添加 SSH 密钥,具体可以查看 Gitee 添加公钥。而后需要在 SourceTree 中添加 SSH 密钥:

  • SSH 客户端 需要选择 OpenSSH
  • 由上面可以发现每次Clone克隆项目的时候,克隆下来的项目默认存储位置都是在C盘,因此每次都需要去选择项目存放的路径,我们可以设置一个默认的项目存储位置。就是上面「Repo Settings」里面的「项目目录」设置

之后填写参数同上,只不过远程仓库地址选择ssh方式的git链接

# 二:代码提交

1. 切换到需要修改功能代码所在的分支:

2. 将修改的代码提交到暂存区:

3. 将暂存区中的代码提交到本地代码仓库:

多人同时开发项目的时候,不推荐默认选中立即推送变更到 origin/develop,避免一些不必要的麻烦

4. 更新本地代码库,并将代码推送到远程仓库:

勾选需要推送的分支,点击推送到远程分支:

代码成功推送到远程代码库:

5.在Gitee中查看推送结果:

# 三:常用操作

# 3.1 分支切换

# 3.2 新建分支

在新建分支时,需要在哪个主分支的基础上新建分支必须先要切换到对应的主分支才能到该主分支上创建分支,如下在 dev 分支上创建一个 dev-0922 分支:

# 3.3 推送本地分支到远程

查看远程仓库发现已经创建了 dev-0922 分支:

# 3.4 合并分支

1. 本地分支合并

在合并代码之前需要将待合并的分支拉取到最新状态(避免覆盖别人的代码,或者丢失一些重要文件

dev 分支上点击右键,选择合并 dev-0922 至当前分支即可进行合并:

分支合并成功,提交到远程

# 3.5 代码冲突解决

本地代码需要先提交到本地仓库,避免被覆盖

<<<<<<< HEAD======= 里的内容是本地 Commit 提交的内容 =======>>>>>>> 839074ad41582b5974e1d5153de7403e562aa607 内容是远程代码库更新的内容。

打开冲突文件手动解决完以后,最后把冲突文件标记为已解决,提交到远程仓库(需要把合并的文件重新提交一次)

# 3.6 保留工作现场

贮藏(git stash)用于保留工作现场,上面步骤是 提交本地代码 -> 拉取远程仓库代码 -> 解决冲突。而如果在 拉取远程本地仓库代码 之前不想提交本地代码,则可以使用 git stash

这时候就可以继续上面解决冲突的步骤,拉取远程仓库代码,解决冲突了。这样做的好处可以少一次本地提交,同时避免拉取代码导致本地代码被覆盖。一旦推送到远程仓库后,本地的 stash 则可以删除。

该功能还有个比较常用场景,比如开发时有很多配置文件,本地测试需要换一些参数,然后拉取最新的代码再修改回去等,这样就很麻烦,那么这时候就可以使用储藏功能,把修改代码储藏起来,下次拉取了最新的代码之后直接选择存储的文件然后应用它就行了,避免了每次拉取最新代码之后再一次次的修改。

# 3.7 丢弃

如果发现一个文件修改错了,可以右键这个文件,选择丢弃,将该文件的所有修改回滚到修改之前的状态:

# 3.8 cherry-pick

假设需要将 dev 分支的某次提交复制到 master 分支,这时候就可以使用 cherry-pick 功能。需要先切换到 master 分支,之后选中需要 cherry-pick 的提交。

最后记得需要手动提交到远程

只能选中一次提交记录,使用起来并没有 IDEA 工具方便

# 四:Beyond Compare

使用第三方对比工具来合并冲突内容

1. SourceTree 配置对比工具Beyond Compare:

2. 解决冲突:

3. 解决冲突:

点击保存文件后关闭Beynod Compare工具,SourceTree中的冲突就解决了,在SourceTree中我们会发现多了一个 .orig 的文件。接着选中那个.orig文件,单击右键 => 移除,最后提交冲突文件,推送到远程代码库即可:

# 五:参考链接

最后更新: 9/24/2023, 10:52:53 PM