source Tree 基本操作

内容提交

提交方法一:

1.解决工作副本冲突;
点击 工作副本,将“未暂存文件”中,非自己修改的内容进行 reset 或者 移除等操作,防止该文件对自己所要上传内容造成冲突
2.拉去远端;
点击菜单栏 “拉取”选项,使自己项目与最新版本内容保持一致
3.提交修改;
点击菜单栏“提交”按钮,在工作副本中,勾选自己需要修改的内容,填写推送内容的概述,点击提交选项,将自己修改的内容提交的线上,同时注明自己修改的内容
4.push代码;
点击菜单栏“推送”按钮,选择需要推送的版本,完成修改内容的推送

提交方法二:(如果存在冲突文件,最后采用该方法进行提交)

过程大致分为:提交-->拉取-->解决冲突-->在提交-->推送。 2次提交,1次推送
1 提交本地修改内容
这里写图片描述
2 拉取远端提交内容,拉取的时候可能提示文件有冲突,点击ok。
这里写图片描述
拉取成功之后提示n个超前,m个落后,既有需要pull拉取的,也有需要push推送的,不用管他

选择分支的顶端,对冲突的内容进行处理
处理完成之后,点击commit进行提交
这里写图片描述
提交完成之后,点击push,进行推送,然后就可以了
这里写图片描述
提交完成如下
这里写图片描述

合并分支:将两个不同的分支进行合并

首先拉取当前分支,使自己的分支处于当前分支head处,
选择需要合并的分支,右键选择合并分支
注意:自己提交代码产生的分支,一般不要通过合并去处理代码的冲突问题。

解决合并冲突代码后的问题:

这里写图片描述

<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。 line 4

=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。line6

解决方法:右键冲突文件-解决冲突

使用“我的版本”解决冲突:使用<<<<<<<后面的内容

使用“他人版本”解决冲突:使用=======之后,>>>>>>>之前的内容

sourceTree 链接github项目,并进行管理:http://www.xz7.com/dir/171439.html

超前一个版本,落后N个版本

解决方法1 基本解决方法

拉取远端文件,修复冲突,然后提交,推送,参考代码提交第二中方法,如果不能解决问题,参考以下方法。

解决方法2 -->用于没有冲突文件

将当前版本重置到冲突分支之前,然后拉取远端分支,在提交自己的代码

解决方法3 通过储存代码进行修复

参考博客:http://blog.csdn.net/wodeyuer125/article/details/48247765

1 首先将分支重置到有歧义的位置
这里写图片描述
然后选中冲突的本地文件,点击菜单栏暂存,存储该文件
这里写图片描述
这里写图片描述
2 拉取远端文件

3恢复暂存文件
这里写图片描述
4 解决冲突
应用暂存文件,如果该文件暂存之后与拉取的文件修改了同一块内容,需要解决冲突模块,修改的方式可以参照上面“解决合并冲突代码后的问题”的内容进行修复

5 应用完成之后,删除已存储的文件

解决方法4 通过终端进行修复

在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢?

1 首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮。
然后输入:
$ git reset –hard HEAD^
这句话的意思是将自己最近的一次提交撤销,回到push之前的状态。但是所有commit的内容就都消失了。非常不建议用这个参数,会牺牲太多的代码。

2 如果不想让commit消失,可以改一下参数。用这个参数可以保证你提交的代码原封不动的保存下来。前提是你本地的工作台是干净的。。把所有代码都暂存。
$ git reset –soft HEAD^
执行这句话之后重新拉取一遍代码就可以了,push的都会撤销回来。

3 如果想一次回退多个push,可以这样:(例子是撤销最近三次的提交)
gitresetsoftHEAD 34退 git reset –soft 1234567
1234567是要回退到的版本号,根据具体情况而定,这里只是举例子。
版本号可以不写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

最后总结一下:
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

其它常见问题及解决方法

1 未拉取远端分支,直接推送本地分支内容

这里写图片描述
该问题多发生于他人推送git文件,本地还没有刷新显示有文件需要拉取,用户认为现在自己的分支不需要拉取更新,直接推送本地分支造成的。

提示远程已经有更新了,本地版本太低,让我们先pull拉取最新的代码,
我们继续拉取代码pull一下,这个时候由于本地有修改这个文件,就会在本地产生冲突文件

通过右键解决冲突选项,解决冲突,显示超前1个,落后1个,然后通过上述方法进行处理

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
树状数组(Fenwick Tree,又称为Binary Indexed Tree)是一种基于数组实现的数据结构,用于高效地动态维护前缀和。它可以在O(log n)的时间内完成单点修改和查询操作,以及区间求和操作。 Fenwick Tree的实现原理比较简单,它使用一个数组来保存原始数据,同时维护另外一个数组用于计算前缀和。其中,数组中每个元素的值表示与当前位置相关的前缀和。为了方便计算,数组的长度通常比原始数据的长度大1。 Fenwick Tree的主要操作包括setValues函数用于设置原始数据的值,getSum函数用于查询某个位置的前缀和。具体实现中,setValues函数会更新原始数据数组的值,并同时更新前缀和数组的值。而getSum函数会根据当前位置的值以及前缀和数组的值,通过逐级向上累加来计算目标位置的前缀和。 Fenwick Tree的应用场景比较广泛,特别适用于需要频繁进行单点修改和区间求和操作的情况。比如,在一些算法问题中,我们需要不断更新某个位置上的值,并且需要快速计算某个区间的和。这时候,Fenwick Tree就能够提供高效的解决方案。 代码实现方面,可以参考引用和引用中的示例代码。它们展示了如何实现一个简单的Fenwick Tree,并且给出了一些测试例子来演示其使用方法。需要注意的是,具体的实现方式可能会根据具体的问题而有所差异,但基本原理都是相同的。 总结起来,Fenwick Tree是一种高效的数据结构,适用于需要频繁进行单点修改和区间求和操作的场景。它通过数组实现,并使用前缀和来提供快速的查询和更新功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【数据结构与算法】树状数组](https://blog.csdn.net/zzy_NIC/article/details/130616434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [6.10 Fenwick树](https://blog.csdn.net/m0_66201040/article/details/122923027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯过客TYGK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值