SourceTree中“提交回滚”和“重置到此次提交”的区别

这篇具有很好参考价值的文章主要介绍了SourceTree中“提交回滚”和“重置到此次提交”的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用一个例子来说明:

如:线上分支提交记录 1、2、3
目的需求:“提交回滚”到提交2、或重置到提交“2”的区别

一、提交回滚

若只需要撤销2的提交,1、3保留,则点击记录2右键“提交回滚”,则本地的2被回滚,推送后线上分支也回滚了。(恢复刚刚到操作:点击“提交回滚”后的右键再次“提交回滚”,则撤销了刚刚的回滚,即1、2、3都在)

注意: 提交回滚时,2的提交记录即2的文件状态,本地代码不存在了(当时改的代码已经没了),若需要保留2的记录,需提前保存或重新拉取分支。

二、重置提交

若点击提交记录2右键“重置到本次提交”,有3钟选择方案:
SourceTree中“提交回滚”和“重置到此次提交”的区别
·

1.软合并-保存所有本地改动(推荐)

文件回滚到以前的版本,此文件更改是将文件回滚回去的反向更改,最后将这些文件提交就回到了提交2的状态。
这种回滚方式是安全的,文件会根据之前提交的变化更改文件回到原来的状态,会在版本树上留下记录,即所有的更改都有记录可查。
·

2.混合合并-保存工作副本但重置索引

(此时显示有文件可以从远程拉取下来,如果拉取下来就会像什么都没有发生一样,前面的重置操作会被抵消掉)

该重置会将本地代码回到2提交完成后的状态,即3的提交记录-文件状态(被修改的)保留在本地等待提交。
如果后悔重置可以将其重新提交,不过会被整合成一次提交,如果不需要全部提交则根据需求选择重置或者移除已修改的文件,达到部分代码取消提交的需求(需谨慎!!!)。

注意: 该更改后的提交推送到线上分支需要勾选“强制推送”,才能将线上代码和更改后的本地代码一样。
·

3.强行合并-丢弃所有工作副本改动

高风险的操作: 选择“强行合并-丢弃所有工作副本改动”,此时本地仓库的改动已删掉,没有文件状态,本地仓库和“2”推送之前的版本是一样的,只需要强制推送当前本地仓库到远程即可
·

三、强制推送开启步骤

SourceTree MAC中文版本没有“强制推送”选项,需要将语言更改为英文后重启SourceTree

步骤:偏好设置-高级-勾选允许强制推送

然后在推送时就有“强制推送”的选项了,建议用完关闭“允许强制推送”选项。
强行推送有风险!!!
·

写在最后

此文章为个人开发时记录,有时时间有限,无法深入研究,若看到此文章后有其他见解或解决方式,欢迎留言交流👇👇👇

————————————————
版权声明:转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/weixin_44158429/article/details/128145240文章来源地址https://www.toymoban.com/news/detail-453388.html

到了这里,关于SourceTree中“提交回滚”和“重置到此次提交”的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git第十三讲 Git重置和回滚更改

    在使用Git时,我们有时可能会犯错或者需要撤销之前的提交或更改。Git提供了一些强大的命令来重置和回滚更改,帮助我们管理项目的版本控制。本文将介绍如何使用Git进行重置和回滚操作。 重置(Reset)命令允许我们将分支的指针移动到指定的提交,同时可以选择如何处理

    2024年02月09日
    浏览(52)
  • Sourcetree 克隆仓库,提交代码使用

    未下载的可以参考: Sourcetree安装详细(最新版本)_sourcetree最新版安装教程-CSDN博客 4.1右上角加号,clone 4.2粘贴链接,选择文件夹,选择克隆的分支   5.1提交 将修改的代码暂存,填写提交说明,提交 5.2推送  最后推送即可

    2024年01月21日
    浏览(50)
  • sourceTree合并一次提交的内容

    在基于git的开发中,经常遇到不同分支需要合并某一次特定的提交的代码,而不是合并整个代码。 场景:A分支是通用分支,B分支是私有化分支,现在A分支修改了一个通用的功能,需要合并到B分支上,功能在一次提交上。B分支只需要这次提交的代码,对A分支上改动的其他代

    2023年04月26日
    浏览(49)
  • Sourcetree提交项目是提示文件名太长

    error: open(\\\"api/moses1.ofashion.com.cn/get_comment_show_list%3fpresentation_type%3d0%26refer%3dOFSMSCountryListViewController%26count%3d30%26start%3d0%26smdid%3d201809252248380b85f47d0221964d5ca9cc21235254bb016d44672.json\\\"): Filename too long error: unable to index file \\\'api/moses1.ofashion.com.cn/get_comment_show_list%3fpresentation_type%3d0%26refer%3dOFSM

    2024年02月16日
    浏览(48)
  • 【GIT】回滚远程提交

    前提: 某次远程提交不符合预期但已经push,想回滚(删除)。 一.获取commit id(想回滚到哪次commit之后) idea的获取方式如下图(右键commit log下的某次提交- Copy Revision Number) 二. 使用git bash进行回滚 一共分成两步 1.回滚到当前commit 9d09c…切换成刚才复制的Revision Number 2.强制提交到远

    2024年02月05日
    浏览(59)
  • idea-git操作 :Rollback(回退),Reset HEAD(重置/回滚) --git项目代码丢失

    在Reset HEAD 操作中代码丢失的解决方法: 看Reset Head ! rollback: 回退 - 选择回退add的内容 (1.已commit的:只是删除修改部分;2.已add的:只是回退到未add的状态3.未add的 不变) Reset Head: Reset Type : mixed(混合) ,soft(软) ,hard(硬) TO Commit : HEAD ,HEAD^ (回退到上一commit版本) ,number(回退指定commit版本

    2024年02月10日
    浏览(94)
  • 整理SourceTree使用方法(拉取、提交、推送、获取、冲突解决、分支管理)

    收藏保存吧,忘记的时候打开来看看 丢弃:放弃未暂缓区的所有修改(工作区中的修改不会添加到版本控制,就是修改的东西不想提交,就直接丢弃) 移除:直接删除文件 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库 提交(commit):将暂存文件上传到本地

    2024年02月05日
    浏览(46)
  • idea 回滚某次提交的代码

    直接看如下图解 1、右击项目,查看提交历史 2、选择要回滚的版本,点击回滚 3、push回滚的内容:双击该回滚记录,弹出后,检查一下回滚的内容,没问题就直接点击push按钮即可 Undo Commit 已经Commit但是还未push的代码,不回滚你所修改的代码,换言之, 撤销你的Commit动作 。

    2023年04月14日
    浏览(44)
  • Sourcetree软件中添加git的.gitignore文件忽略某些文件提交

    有时候我们本地的一些文件修改或变动不需要提交到远程git仓库,那么就可以设置提交时忽略这些文件,比如application.properties文件、log和.history文件夹下的文件等。在Sourcetree软件中的操作步骤如下: 在未暂存文件区域,选择文件右键,然后选“忽略”一项,弹出忽略窗口 在

    2024年02月13日
    浏览(66)
  • SQL事务的开启,提交和回滚

    在处理数据库数据的时候会出现一种情况就是我们删除两个关联的表其中一个表的信息,另一个表也需要改动,但是我们SQL语句在同时更改两个表的同时,难免会出现一个表修改成功,另一个出现错误,这时候表与表之间就会出现矛盾,就用到了回滚,为了更安全的修改表的

    2024年02月04日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包