Sourcetree使用教程

1,389 阅读4分钟

提交和推送

git是分布式版本控制工具,存在着本地仓库和远程仓库,所以我们在本地工作副本进行的编辑,要先提交到本地仓库,再从本地仓库推送到远程仓库。

获取和拉取

获取是将远程仓库的代码更新到本地仓库,拉取是将本地仓库的代码更新到本地工作副本。

有时候别人更新推送了代码你看不到,就要先获取


分支

在新增的分支develop上进行新增功能的开发,等到新增的功能测试通过后再把分支合并到主干master上。

新建的新分支develop也要先推送到远程的develop分支上,当记录中出现develop 以及 origin/develop即可。

还有功能分支(feature branch),是从开发分支上拉取下来的,用于开发和测试功能,并最终合并(merge)回开发分支中。

新建分支

进入一个现有分支,点击上方分支:

1715225691853.png

切换分支

双击想要进入的分支即可:

1715225773449.png

推送新分支

在本地sourcetree创建新分支之后, 远程仓库上不会显示新分支,直到我推送新分支才显示:

1715225964749.png

1715226030818.png

远程仓库中现在就能看到我新建的分支了:

1715226085625.png

从远程仓库拉取新的分支

可以看到, 本地仓库是没有名为HEAD的分支的, 我们想拉这个分支到本地仓库:

image.png

点击确定即可:

1715226296640.png

推送新代码到指定分支

例如我们只想把一个新的修改放到其中一个分支上; 那么我们先正常提交,然后推送时出现弹出框: 我们只要勾选想要推送到的分支即可: ps: 提交时要加注释,否则推送不成功

1715226654643.png

成功推送之后,就可以看到,只推送到了feature分支:

1715226809272.png

合并分支

例如,将feature分支合并到develop分支上:

1715226918877.png

此时,我们能看到develop分支上出现待推送:

1715226976996.png

点击推送即可:

1715227013077.png


拉取时冲突解决(脱离分支)

1. 首先先看看是不是自己本地修改了但是未提交

若是,看修改未提交的部分还要不要,不要则直接丢弃,这样的话自己本地的vs代码相应未提交部分也会被删除;

如果自己的还像保留的话,就按照下面的指示操作:

SourceTree使用教程(四)---冲突解决-百度经验 (baidu.com)

1、先把代码存到暂存区 2、点击储藏,并输入储藏名字 3、拉取最新代码 4、应用储藏区 5、修改冲突代码 此时可以清晰看到冲突的文件(带有三角标志的)在vs中修改又矛盾冲突的地方 6、提交代码 把解决了冲突的这个文件提交到暂存区,已暂存文件的冲突图标会消失,此时可以正常提交代码到远程。

撤销回滚

用于撤销最近一次提交/推送。

提交/推送完代码之后发现提交错误了-> 最新的提交记录上 右键选择回滚提交;

可以看到提交记录上多了一个Revert反向提交;

这个时候,反向提交只提到了本地仓库,如需撤销远程仓库的,还需将这个Revert推送到远程仓库

回退到某个历史版本

打开develop分支的日志/历史,鼠标选中将要回退到的那个历史提交记录;

右键-> 重置当前分支到此次提交;

在弹窗中 使用模式选择 强行合并--丢弃所有改动过的工作副本,点击确定;

等待重置完,可以看到本地仓库的develop分支已回退了两步提交操作。而且本地仓库落后远程仓库两个提交记录;

选中最新的提交历史记录,右键->重置当前分支到此次提交;

这次选的使用模式是软合并 – 保持所有本地改动,点击确定;

剩下的操作只需将这个改动文件提交并推送到远程仓库;