任务1-3知识技能:sourcetree的使用

作者: 吴国友 | 来源:发表于2025-03-01 11:50 被阅读0次

目录

一、克隆
二、提交和推送
三、获取和拉取
四、分支创建与合并
五、解决冲突
六、撤销回滚
七、回退版本

一、克隆

填入远程仓库地址,目标路径(本地存放路径),点击克隆。

提交和推送

git是分布式版本控制工具,存在着本地仓库和远程仓库,所以我们需要在本地工作副本中编辑,然后提交到本地仓库,最后推送到远程仓库。
提交到本地仓库,再推送到远程仓库
推送完成后,可以看到最新的版本里显示了master 和 origin/master,这表明本地master分支和远程master分支是同步的,在一个节点上。

三、获取和拉取

获取和拉取。获取是从远程仓库获取信息并同步至本地仓库,拉取是从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge。 获取后的结果
把远端master分支更新的提交同步到本地仓库
拉取后的结果 在实际工作中,我们只需要使用拉取,来更新远端仓库分支到本地分支就行

四、分支创建与合并

在工作中,我们新增一个功能需新增一个分支,这是为了保证原有的功能能正常使用,新增的功能不会影响原有功能的分支,等新增的功能测试通过后,我们只需把新增的分支合并到master分支上,然后上线。

新增一个develop分支
点击创建分支,可以看到多了一个develop分支,但是这个分支只存在于本地仓库。可以看到最新的日志记录节点上只有master , origin/master,develop,所以这个新分支是没有推送到远程仓库的。
然后点击推送到远端分支
将develop分支合并到master分支,先切换到master分支,将develop分支合并到master分支,最后推送到远程master分支

五、解决冲突

产生冲突的两种原因:

  • 不同分支下的合并:比如我们本地修改了文件1时,并推送到远端develop分支,接着我们将develop分支推送到test分支,如果test分支的文件1也有修改的话,那么就会产生冲突。
  • 同一个分支的拉取或推送:如果我们对文件1作出了修改,此时我们进行拉取或推送,如果远端文件1也有修改,那么本地和远端的文件不一致,那么就会产生冲突。
拉取时出现冲突
我们可以打开HBuilderX解决冲突
合并冲突后提交并推送

六、撤销回滚

有时候我们提交了代码,但后悔了,需要回滚,那么我们可以使用撤销回滚操作。

注意:撤销回滚只能撤销回滚最近的一次提交,并不能回滚到历史某个提交

可以看到提交历史记录多了一个Revert 反向提交
例子:比如我们在master中回滚一次提交,回滚的提交里有func1功能,下次我们在develop分支中增加func4功能,这时develop分支是有func1功能的,再次将develop分支合并到master分支,这是master是不会自动把func1功能再次合并,那么我们这是就需要将master分支那次的回滚提交找出来,点击回滚提交,重新添加func1到master分支上。 master分支回滚了func1的功能代码 develop的func1功能代码还是存在,这时添加了func4功能代码,并合并到master分支 这时master只会合并func4的代码,之前回滚的func1代码并不会再次合并
解决: 找到之前回滚func1功能的记录 然后点击回滚提交,就可以了

七、回退版本

撤销回滚只能撤销回滚最新的提交记录,并不能回滚到某个历史版本。注意:回退指的是内容的回退,而不是提交记录的回退

如果我们想回退到这个提交
右键重置当前分支到此次提交, 使用模式选择 强行合并--丢弃所有改动过的工作副本,点击确定 对比本地仓库和远程仓库,红圈节点上面的两个提交 再次右键点击最新的提交历史记录,重置当前分支到此次提交,选择软合并 查看文件状态,可以看到修改的文件已经删除了回退版本之后提交的代码

然后点提交推送

注意:回退是不会删除回退版本之后的提交记录的,只是回退了内容。

相关文章

网友评论

    本文标题:任务1-3知识技能:sourcetree的使用

    本文链接:https://www.haomeiwen.com/subject/dwcxmjtx.html