git reset 、rebase和 revert的区别

git revert 放弃某次提交
git revert 之前的提交仍会保留在git log中,而此次撤销会做为一次新的提交。

git reset 是回滚到某次提交
git reset --soft
此次提交之后的修改会被退回到暂存区
git reset --hard
此次提交之后的修改不做任何保留,git status干净的工作区。

git rebase 当两个分支不在一条直线上,需要执行merge操作时,使用该命令操作。
该命令执行时极有可能显示merge失败,如下图1,使用git diff命令查看冲突内容,手动
修改冲突,git add filename,表示冲突已解决,再执行git rebase --continue,继续rebase。
图1

git rebase 执行结果如下图2
图2


  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
git resetgit rebase 是两个不同的命令,它们有着不同的功能和应用场景。 git reset 的作用是将代码回退到某一个具体的版本,它会修改 .git/refs 目录和 .git/index 文件,但不会修改任何与 commit 相关的东西。通过 git reset,你可以将你的代码库重置到指定的提交点,之前的提交记录将会丢失,但代码仍然会保留。这意味着回退后的代码库和之前的提交记录将没有任何关联。一般情况下,git reset 用于本地代码库的调整和修复,不会对远程库产生影响。然而,需要注意的是,不要使用 reset 命令修改已经 push 过的内容,否则可能会导致代码不兼容,并影响到其他人的代码。 git rebase 的作用是变基,它可以用于合并多次提交为一次提交。通过 git rebase,你可以修改已经提交的内容,包括覆盖提交历史等操作。rebase 将尝试修改你已经提交的内容,因此在使用 rebase 命令时要小心,确保不要对已经 push 过的内容进行修改,以免导致代码不兼容并影响其他人的代码。rebase 一般用于协作开发中,将多个提交合并为一个干净的提交,以便更好地管理代码历史。 综上所述,git resetgit rebase 在功能和使用场景上有所不同。reset 用于回退代码到某一特定版本,保留代码但丢失之后的提交记录;而 rebase 用于变基,合并多次提交为一次提交,并修改已经提交的内容。 使用这两个命令时,需要谨慎操作,尤其是在处理已经 push 过的代码时。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [github: resetrebase, pull 与 fetch 的区别](https://blog.csdn.net/changtianshuiyue/article/details/51620588)[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_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [git reset revert rebase 区别](https://blog.csdn.net/u012745499/article/details/114163835)[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_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值