git软件 GitHub Desktop和sourceTree

(sourceTree这个软件我已经不用了 现在开始用github)GitHub Desktop 操作起来没有sourceTree复杂, GitHub Desktop使用起来很方便

GitHub Desktop点击下载

GitHub Desktop简单用法

请添加图片描述

  1. 将你的项目 直接拖到1.处 2.控制你项目中的分支
    请添加图片描述
  2. 点击左下角 Commit to master 将暂存区内容添加到本地仓库中 (直接会省去git add 【提交到暂存区】)
    请添加图片描述
  3. 点击最上方的中间push origin 把已修改的代码 推到线上去 如果有冲突 他会弹窗 告诉你有冲突 建议用vscode打开解决冲突 vscode解决冲突会很快 还会告诉你哪里冲突 解决完之后再次点击push 就ok了 工作中基本就这么简单

sourceTree用法

方法/步骤
在使用SourceTree之前必须要先安装Git和sourceTree,具体安装过程不再赘述,大家可以搜索其它教程。
在这里插入图片描述

注册并登陆Github,点击new repository,如下图
在这里插入图片描述

输入仓库名字,点击创建,创建后的仓库是空白的,如下图
在这里插入图片描述
在这里插入图片描述

复制仓库地址,如下图。
在这里插入图片描述

打开sourcetree,点击clone,如下图
在这里插入图片描述

切换到克隆配置页面,填入远程仓库地址,目标路径(本地存放路径),点击克隆。
在这里插入图片描述

打开目标路径,可以看到已克隆一个空白的版本库。
在这里插入图片描述

在目标路径下新增文件test1.txt
在这里插入图片描述

提交和推送。由于git是分布式版本控制工具,存在着本地仓库和远程仓库,所以我们在本地工作副本进行的编辑,要先提交到本地仓库,再从本地仓库推送到远程仓库。下面进行演示。第7步中编辑完成后,打开sourceTree, 可以看到文件的变动已经显示到软件界面,点击暂存所选,类似于勾选要提交的文件。

在这里插入图片描述

输入提交注释 [A]新增1,点击提交。

提交完成后,可以看到日志/历史选项卡中已显示提交的版本日志,在master分支 提交了新增1,不过这个master分支是本地仓库的,并不是远程仓库的。从第二张图可以看到远程仓库github里还是空白的。

在这里插入图片描述在这里插入图片描述

推送。点击推送,勾选将本地master分支推送到远程master分支,点击推送。
在这里插入图片描述在这里插入图片描述

推送完成后,可以看到最新的版本里显示了master 和 origin/master,这表明本地master分支和远程master分支是同步的,在一个节点上。登录GitHub可以看到仓库里已有提交记录了。如下图。这样本地修改的代码或文件就被同步到了远程仓库,可以被别人拉下来使用。
在这里插入图片描述

二 sourceTree中拉取和获取的区别,以及在现实使用中如何去操作。

打开github上的GitTest版本库,编辑test1.txt文件,如下图。
在这里插入图片描述

在文件test1.txt增加一行,如下图,提交。
在这里插入图片描述

3 获取和拉取。获取是将远程仓库的代码更新到本地仓库,拉取是将本地仓库的代码更新到本地工作副本。打开sourceTree,点击 获取按钮,如下图
在这里插入图片描述

点击确定,可以看到拉取图标那里多了一个蓝底白色的数字1,分支master那里也有一个灰色的数字1,并有一个向下的箭头,这表示 有一个更新需要拉取到本地工作副本。同时打开版本文件,可以看到test1.txt文件中没有第二步增加的123。
在这里插入图片描述

在这里插入图片描述
点击拉取,如下图

在这里插入图片描述

点击确定,可以看到待拉取的图标消失了。同时test1.txt文件也多了123
在这里插入图片描述
在这里插入图片描述

一般在实际使用中是不会先点获取,再点拉取的,因为拉代码都是直接一步到位为拉到本地工作副本的。所以直接一个拉取操作就够了。
在这里插入图片描述

三 sourceTree中创建分支和合并分支的使用方法和使用场景。

1分支。当要新增一个功能,又要保证原始功能的正常的使用,这个时候为了不影响原功能的使用,就可以建立一个分支,在分支上进行新增功能的开发,等到新增的功能测试通过后再把分支合并到主干上。如下图,点击分支,输入新分支名字,以当前工作副本为基础生成一个新的develop分支。
在这里插入图片描述

点击创建分支,可以看到多了一个develop分支,但是这个分支只存在于本地仓库。可以看到最新的日志记录节点上只有master , origin/master,develop,所以这个新分支是没有推送到远程仓库的。
在这里插入图片描述

点击推送,如下图,勾选第一个,将本地develop分支推送到远程develop分支
在这里插入图片描述

点击推送 ,如下图,可以看到本地develop和远程develop已经同步了。

在这里插入图片描述

在develop分支上新增功能,这里是新增了 add func1
在这里插入图片描述

在sourceTree界面,推送新增的功能到develop分支
在这里插入图片描述

再提交一条新增记录,如下图。可以看到develop分支比master分支多了2条提交记录。
在这里插入图片描述
在这里插入图片描述

功能1和2测试通过,现在要将develop分支上新增的两个功能合并到主分支master上。
将当前分支切换到master分支,鼠标移到到develop分支,右键,选择合并develop至当前分支,也即是主分支。

在这里插入图片描述

点击确定
在这里插入图片描述

可以看到master的本地仓库多了两条需要推送的记录。如图所示的红框内图标2,说明develop分支新增的两个功能已合并到本地仓库的master分支。
在这里插入图片描述

推送合并过来的两个新增功能。可以看到master分支已有了新增的两个功能。
在这里插入图片描述

四 解决冲突

虽然在团队协作开发中强调尽量避免操作同一文件,以避免冲突,但是在实际开发中还是会遇到冲突,所以掌握解决冲突的方法必不可少。

解决冲突就要先制造冲突,冲突一般是由于两个人同时修改同一文件而造成的。在GitHub上修改远程仓库文件模拟一个人操作,sourceTree本地修改同一文件模拟另一个人操作。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210419164259465.png
登录GitHub ,打开GitTest,编辑test1.txt文件
在这里插入图片描述

在文件末尾增加 内容 code conclick1,点击提交。如下图所示。
在这里插入图片描述
在这里插入图片描述

打开本地工作副本的test1.txt文件,新增内容code conclick2,如下图:
在这里插入图片描述

打开sourceTree,可以看到本地工作副本有个待提交记录。
在这里插入图片描述

推送代码。这个时候你修改完了本地的功能,并不知道远程仓库上也有人提交了该文件的修改。直接推送本地修改,推送本地工作副本到远程仓库,运行完成后会报错,大概是提示本地仓库和远程仓库版本不一致,无法提交,但是本地工作副本的修改却是已经提交到了本地仓库。如下图。
在这里插入图片描述
在这里插入图片描述

既然提示 和远程仓库版本不一致,无法推送,那只能先拉成一致了。点击拉取图标,等执行完,就会出现下图所示。有一个待拉取的图标和一个待推送的图标,并且test1.txt文件的图标变成了黄色的感叹号。这个时候文件的冲突就造成了。
在这里插入图片描述

冲突文件会把两者的修改以冲突的方式合在一个文件里,等待使用者去处理。那么基本的处理思想是:要么使用其中某一个人的,要么使用两者的组合。
冲突的解决需要一个外部代码对比工具,我这里使用的是Beyond Compare 4,大家可以自己百度下载安装,然后集成到sourceTree软件中。如下图。在外部对比工具中找到Beyond Compare 4的可执行程序,点击确定。
在这里插入图片描述

下面开始使用代码对比工具解决冲突,选中待解决冲突的代码,右键 解决冲突,打开外部合并工具。
在这里插入图片描述

等待一会,Beyond Compare 4就会被打开。第一块是本地修改的版本,第二块是冲突两者(本地仓库和远程仓库)相同的版本基准,第三块是 远程仓库的修改。第四块是冲突处理后的代码。
在这里插入图片描述

本次解决冲突是为了合并两者的修改,所以我会把第一块和第三块所做的修改按照正确的逻辑顺序,合到第四块。如下图,点击保存。关闭该对比软件。
在这里插入图片描述

切到sourceTree界面,可以看到多了一个解决冲突的中间文件,由于冲突已解决,直接右键移除,
在这里插入图片描述

可以看到冲突已解决,代码已正确合并。推送该合并。
在这里插入图片描述

这样冲突就被解决了,可以看到本地工作副本和远程仓库的代码都是一致的了
在这里插入图片描述

五 Sourcetree支持文件的部分提交
SourceTree比起tortoiseGit来,最大的不同之处在于 Sourcetree支持文件的部分提交,这大大方便了用户的使用。
有的时候,我们开发了一个A功能,未上线,同时又并发开发了B功能,B功能比A功能先上线,而且B功能和A功能修改的是同一个文件,这种情况在上线B功能时,SourceTree就体现出优势了。
打开本地工作副本,增加文件activityServiceImpl.java,这个文件没啥特别,就是代码行数很多,方便演示。
在这里插入图片描述

打开SourceTree,推送该文件。
在这里插入图片描述

打开新增文件,新增func1,func2,func3三个功能,
在这里插入图片描述

现在的要求是,只提交func3,不提交func1和func2。打开sourceTree。如下图
在这里插入图片描述

右边区域滑到add func3处,点击暂存区块,该区块就会保存到待提交区。
在这里插入图片描述

已暂存文件里是待提交的,未暂存文件里不需要提交的,这样在一个文件里,就可以提交需要提交的,而不需要提交的也可以保留在工作区,等待下次提交
在这里插入图片描述

提交推送,如下图。
在这里插入图片描述

撤销回滚。在团队协作开发中,有时候提交完代码后,发现提交错了,这个时候,撤销回滚就起了重要作用。
在最新的提交记录上,右键-》回滚提交
在这里插入图片描述

在弹窗里选择是。
在这里插入图片描述

可以看到提交历史记录多了一个Revert 反向提交
在这里插入图片描述

打开本地工作副本,看到 做的修改已去除
在这里插入图片描述

这个时候,反向提交只提到了本地仓库,如需撤销远程仓库的,还需推送到远程仓库
在这里插入图片描述

点击推送,可以看到提交的func3已撤销。如下图。
在这里插入图片描述

• 方法/步骤
• 二 sourceTree中拉取和获取的区别,以及在现实使用中如何去操作。
• 三 sourceTree中创建分支和合并分支的使用方法和使用场景。
• 四 解决冲突
• 五 Sourcetree支持文件的部分提交

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值