【git回滚后,同事pull拉不到最新回滚代码-解决方案】

这篇具有很好参考价值的文章主要介绍了【git回滚后,同事pull拉不到最新回滚代码-解决方案】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 问题起因?
合并代码冲突,导致部分代码丢失了。决定回滚到昨天下班后最后一个版本。
使用命令
git reset --hard commit_id
git push --hard

2. 接着让同事们拉代码。。。。
发现提示是最新代码但是拉不下来。需要使用下面的代码:我没有进行测试,如果你测试了麻烦给留言哈。。。。

git reset --hard origin/master

我们用的下面的方法:
重新clone整个代码下来。。。。。
3. 回来复盘发现这个问题,上网找到了答案。

猜测你是用的 git reset 回滚。假设回滚前是 N,回滚后变成 N-3,
那么你所有同事都是 N,都比 N-3 要新,所以当然拉不下来。

所以要么大家都 git reset,要么大家都重新拉整个库。

下次建议用 git revert,创建“回滚分支”,这样就能 git pull 了。

命令区别:

git reset和git revert是两种Git命令,用于撤销或回退提交的更改,但它们具有不同的工作原理和效果。

git reset: 这个命令用于将当前分支的HEAD指针和索引重置到指定的提交。使用git reset会丢弃一些或所有未提交的修改,并移动分支指针。

--soft模式:只重置HEAD指针,保留所有修改在工作目录中,将这些修改标记为未暂存状态。
--mixed模式(默认):重置HEAD指针和索引,保留所有修改在工作目录中,将这些修改标记为未暂存状态。
--hard模式:完全重置HEAD指针、索引和工作目录,丢弃所有修改。
git revert: 这个命令用于创建一个新的提交,以撤销指定的提交。使用git revert会保留历史记录,并生成撤销更改所需的新提交。每个提交都会在历史记录中出现,并将更改反转回去。

git revert <commit>: 撤销指定的提交,并创建一个新的提交来恢复更改。
简而言之:

git reset是通过直接修改分支指针和索引来撤销提交,较为强力和危险,可能会丢失未提交的修改历史。
git revert是通过创建新的提交来撤销指定提交,更安全,能够保留完整的修改历史。
根据具体需求和场景,选择适合的命令来回退或撤销Git提交。

解决方案来自:
https://segmentfault.com/q/1010000040661545?bd_source_light=4746641文章来源地址https://www.toymoban.com/news/detail-525428.html

到了这里,关于【git回滚后,同事pull拉不到最新回滚代码-解决方案】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Git回滚代码到某个tag

    开发中总会有人不小心将代码提交到错误的分支上,比如应该提到dev分支的代码提交到了master分支,可以使用git回滚到tag的方法进行回滚。 1、切换到待回滚分支 2、寻找tag提交ID 显示如下结果 commit f2acd7b8e58fe053fbf4feadc8208a07b47d7d4d (tag: 22.5.0.3, tag: 22.5.0.2, tag: 22.5.0.1) commit后面就

    2024年02月11日
    浏览(83)
  • git代码回滚到某个tag

    由于之前打了一个tag上线,然后又推了几次代码之后,想要回滚到之前tag的基础上进行代码修改 首先需要git checkout 到那个需要修改的分支上, 然后使用指令 git tag 可以看到当前有几个tag 然后使用指令 git show v1.0.2 就可以看到v1.0.2的commit id 之后使用指令 git reset --hard 3c3cf12.

    2024年02月16日
    浏览(42)
  • Idea Git 已提交代码版本回滚

    本文主要记录在 Idea 中 如何通过 Git 回滚本地仓库和远程仓库代码版本 模拟一次提交,提交到本地仓库,未提交到远程仓库 本地仓库 有 远程仓库 无 复制你想回到的版本的版本号,假如这里回到本次提交之前的版本 项目右键,选择 Reset HEAD Reset Type 有三种: 3.1、mixed mixed

    2024年01月21日
    浏览(50)
  • IDEA小技巧-Git的回滚&&强推&&代码找回

    新增文件 delete 变更文件 rollback 第一种方式 第二种方式 切换默认变更列表 undo commit 仅适用于最后一次的提交进行回滚 drop commit 回滚 revert commit revert commit 只是把代码消除但是会多一条提交记录 reset soft 在选定提交后做的所有更改都在暂存区,commit的内容都会保留,其新增文

    2024年02月04日
    浏览(44)
  • git中未提交的代码回滚丢失

    一、使用了git add操作,但是回滚后找不到的 操作: 1.进入到项目所在的有.git目录下,使用git bash here进入操作界面 2.然后使用命令: find .git/objects -type f | xargs ls -lt | sed 60q 注意:这里的60是最近60次git add的文件,可以换成你想要的次数  3.回车后出现的文件是下面的这种形

    2024年02月08日
    浏览(28)
  • 删除本地文件后,使用 git pull 命令从远程仓库无法拉取到被删除文件的解决方案

    一、问题描述: 从git上拉取文件后,在本地有修改文件,导致文件爆红。然后修改的内容又不想提交,就把爆红的文件删除掉了,想重新从git上拉取,但是此时却拉取不成功了。(虽显示已更新,但并未成功)  1.git pull 2.git status查看当前的状态,也提示了有被删除的文件。 二

    2024年01月18日
    浏览(42)
  • IDEA小技巧-Git的回滚&&强推&&代码找回(超详细)

    PS:我们这里对 Test1 文件的 add ,commit 以及 push 展开讨论 对于新增以及修改的文件 直接鼠标右键文件进行回滚 undo commit 回退最后一次提交,且只能回退最后一次提交,commit的内容都会被保留,被修改或新增的代码都会被保留 使用 undo commit 前 使用 undo commit 后 注意:这里是

    2024年02月19日
    浏览(51)
  • git代码回滚是使用reset还是revert

    时光不能回退,Git却允许我们改变历史。 想要让Git回退历史,有以下步骤: 快捷命令: 【注:HEAD是指向当前版本的指针,HEAD^表示上个版本,HEAD^^表示上上个版本】 如果修改到的文件比较少,我们可以不通过命令回滚的方式,手动删除之前的修改,再进行提交。 reset和reve

    2024年02月07日
    浏览(76)
  • Idea用Git将代码回滚到某个版本

    网上资料大多是选择要回滚的版本右键点击\\\"reset current branch to here\\\"之后,选hard模 式,然后强制push的方式。虽然能将本地及远程仓库都恢复到某次提交,但是不会产生 commit记录,导致在该分支共同开发的其他人下次提交时,会把你已经回退的代码再次提交上去,你的回退失败

    2024年02月11日
    浏览(38)
  • idea解决代码冲突-git分布式合并分支-加git回滚操作

    第一次接触项目发版的工作,记录一下解决版本冲突合并问题的心得。 适用场景:分布式项目,多人使用自己分支开发,最后合并自己的代码分支给主分支。 话不多说,直接看图 1.全部拉下来(这个拉取是全部拉取,既保证自己的分支最新,同时也把远端的分支都拉到最新

    2024年02月08日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包