211
版本控制已成为当今软件开发过程不可或缺的一部分。作为最受欢迎的分布式版本控制系统之一,Git受到开发人员的青睐。但是,当将GIT用于版本管理时,我们将不可避免地会遇到需要回滚代码版本的情况,例如修复错误提交,撤销合并等。此时,正确有效地执行版本后备均特别重要。本文将详细介绍如何使用GIT的重置和功能来实现Idea中代码版本的灵活后备。无论是针对具有一定经验的初学者还是开发人员,本文将提供一份全面,实用的操作指南,以帮助您更好地掌握GIT版本控制的本质。
1。版本回滚的预知
在操作之前,需要澄清三个核心概念:工作区与临时存储区与仓库
区域基本操作命令方案的示例
工作区
您要编辑的代码文件
直接修改文件
在.java中添加新代码
临时存储区
标记要提交的修改
git添加
将.java添加到提交队列
库
永久保存的历史版本
生成一个使用版本号的提交
2。重置计划:整体改写历史记录
将头指针直接移回目标版本,该目标版将删除随后的提交记录,该记录适用于需要强制同步的本地或远程方案。
1。图形操作(推荐)1.1。查看提交历史记录
右键单击项目→Git→显示,或在“日志”选项卡中查看所有提交记录。
1.2。选择目标版本
右键单击您要退缩的提交→重置到此处(在此处重置当前分支)。
1.3。选择后备模式
单击上面的单击以在此处重置当前分支,然后如下弹出窗口。
在解析每个选项之前,请查看当前项目的所有状态中的文件。
好的,四个状态文件准备好完成,开始显示
1.3.1。软(推荐)
选择软件后,仅移动头部指针,并且所有文件内容均未更改。 test1成为修改状态。在后续推送远程版本退回后,您可以选择是否再次将第一个修改和第二个修改提交给远程存储库。
1.3.2。混合
选择混合到后备后,所有文件内容均未更改(例如软),然后将临时存储区域test3删除到工作区。这样,软和混合之间的差异是清除临时存储区域。
1.3.3。硬(谨慎使用)
选择难以退缩后,将文件内容恢复到第一个提交的状态(Test1第二和第三提交,以及test3未提交的内容丢失),然后丢失了临时存储区域中的整个文件test3(未转移到诸如软软件和混合的工作区)。简而言之,所有局部修改都将丢失(当然,不包括 test4,因为它尚未由GIT管理)。
目前,尚未将代码推向存储库(稍后将讨论)。您可以更新代码以检索第二和第三测试1提交的内容,但是无法检索A和测试3的内容3(因为这些内容全部在当时的临时存储区域中,但是Hard都清除了临时存储区域并丢弃了所有修改)
1.3.4。保持
选择“保持后卫”后,后备版的文件内容将恢复为第一个提交状态(Test1第二和第三提交已消失),并且其他状态的文件内容没有更改(也就是说,本地修改内容不会丢失),但是将临时存储区域文件删除到工作区。
如果Test1在回滚版本时已修改了内容,则弹出窗口将允许您选择Test1来修改尚未提交的内容,这类似于解决冲突。 (请不要推荐)
总结
1.4。武力远程存储库
方法1(不建议)
git push - 力是一个强制推动命令,它将迫使本地分支的内容迫使远程存储库,涵盖远程分支的历史记录。使用此命令时,如果远程分支的提交历史记录与本地分支不同,则将继续执行推动操作,并且不会执行任何检查,并且可能会丢失远程存储库的更改。因此,需要谨慎使用此命令,尤其是在多次协作的情况下,这可能会覆盖其他协作。
git push --force # 等同于 git push -f
方法2(建议)
git推动 - 租赁 - 租赁是一个更安全的版本 - 力量。它将首先检查远程分支是否由其他分支更新。如果发生任何变化,推动将失败并提示避免覆盖他人的变化。此命令将自动将当前分支推向远程存储库的相应分支。
git push --force-with-lease # 推荐,避免覆盖他人提交
2。命令行操作2.1。查看提交记录
方法一
git log
方法2
git log --oneline # 获取目标commit_id(前7位即可)
方法三
直接在Idea右键单击中选择历史版本以选择复制修订号码
2.2。执行退回
上面详细介绍了三种不同的后备模式
# 彻底回退(删除工作区+暂存区修改) git reset --hard 62b47d9 # 回退到上一个提交(保留工作区修改) git reset --soft HEAD~1 # 回退到前2个版本(保留工作区,暂存区重置) git reset --mixed HEAD^^
2.3。遥控的力同步
这与Idea图形操作命令相同
git push --force-with-lease # 推荐,避免覆盖他人提交 git push -f origin master # 强制覆盖远程分支
3.计划:部分撤销提交
生成新的提交记录和反向操作目标版本,保留完整的历史链,适合团队合作或审核场景。
1。图形操作1.1。撤销目标提交
仅撤销此提交历史记录的内容。如果此版本之后添加B,则此撤销将要求解决冲突。
1.2。提交新版本
自动生成“原始提交信息”的新提交,需要将其推到遥控器(等效于我们手动单击此文件,删除添加A的代码,然后提交推送)
2。命令行操作
# 撤销单个提交 git revert 62b47d9 # 推送当前分支到远程仓库 git push origin 分支
总结
GIT版本后备方案有两个主要解决方案:通过移动头部指针直接重置后备,这些解决方案适用于远程或强制同步遥控,反向撤销,通过生成新提交的提交,适合团队协作和保持历史记录;根据需求选择适当的方法,并谨慎操作。
本文通过详细介绍了git版本后备的两个核心解决方案 - 重置和重置,从而为开发人员提供了有效的解决方案解决方案。我们对版本后备的预知有深刻的了解,并掌握了RESET和RESET的适用方案。重置解决方案适用于具有直接和快速特征的个人发展或紧急退缩方案,但需要谨慎使用,以避免缺少重要的修改。该解决方案具有安全性和历史记录的优势,更适合需要审核的项目。通过对本文的研究,我相信您可以掌握这两个版本的后备方法,并在实际开发中灵活地使用它们来提高您的GIT版本控制功能。
创意git版本后备
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附: 二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
注:本站所有资源均来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系邮箱:785557022@qq.com 我们将配合处理!
----------------------------------------------------
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
----------------------------------------------------