git reset current branch to here

这篇具有很好参考价值的文章主要介绍了git reset current branch to here。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

reset current branch to here是git命令中的一种回滚操作。

其使用场景如下,

  • 1)提交了多次错误的提交,想回滚到之前的某次提交。
  • 2)合并了错误的分支,想回滚到合并之前。

该操作回滚到某次commit提交后,该commit提交之后提交的代码都可以再次修改重新提交。

另外,还有一种情况,边拉代码边提交代码可能导致拉取的代码一直有冲突,解决办法可以把本地代码暂存(git stash changes)起来,然后回滚到某个commit(git reset current branch to here),最后在取出暂存代码(git unstash changes),注意这里stash相当于一个栈的操作进行压栈和出栈,如果有多次stash注意取的代码是哪一次压栈。

git reset current branch to here回滚有四种模式,soft,mixed,hard,keep。一般情况下,不要轻易使用hard模式,这几种有什么区别,如何使用往下看,其中三种如下图,

reset current branch to here,基础,git

  • Working Tree 当前的工作区域
  • Index/Stage 暂存区域,和git stash命令暂存的地方不一样。使用git add xx,就可以将xx添加近Stage里面
  • Repository 提交的历史,即使用git commit提交后的结果

文件从工作树存入到仓库的流程参考文末1。

git reset current branch to here的本质:是移动 HEAD 以及它所指向的 branch。几种模式的主要区别是:

  • --soft:重置位置的同时,保留working Tree工作目录index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

  • --mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

  • --hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

  • --keep:重置位置的同时,直接将 working Tree工作目录 和 repository 都重置成目标Reset节点的內容,index 暂存区 的内容保持不变。

参考链接:

1、Git Reset 三种模式hard,soft,mix - 博客 - 编程圈 (bianchengquan.com)

2、Git 中文开发手册 - 开发者手册 - 云+社区 - 腾讯云

3、Git让你从入门到精通,看这一篇就够了! - SegmentFault 思否文章来源地址https://www.toymoban.com/news/detail-804448.html

到了这里,关于git reset current branch to here的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • git远程连接推送代码报错 fatal: The current branch master has no upstream branch.

    fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use     git push --set-upstream origin master To have this happen automatically for branches without a tracking upstream, see \\\'push.autoSetupRemote\\\' in \\\'git help config\\\'. 报错原因:当前的分支 \\\"master\\\" 没有与远程分支关联(也

    2024年02月05日
    浏览(48)
  • 【Git】push分支报错:fatal: The current branch 当前分支名 has no upstream branch

    示例代码: feature/file 是分支名 中文释义: 在于当前这个分支没有和任何的仓库发生关联,origin是仓库的一个指针,需要将当前的分支与这个指针之间形成关联。 直接允许以下命令即可 执行之后会在 github 上自动新建一个 feature/file 的分支。

    2024年02月11日
    浏览(60)
  • git push失败,提示fatal: The current branch master has no upstream branch.的解决办法

    当项目完成想要将本地master推送到远端的码云,使用git push 提交时报错: 报错提示:没有将本地的分支与远程仓库的分支进行关联 解决办法:按照提示,键入 这时出来一个新的错误: 此时我们要执行 git pull --rebase origin master 命令将README.md拉到本地, 然后执行git push origin

    2024年02月11日
    浏览(77)
  • Git 分支跟踪There is no tracking information for the current branch.

    当你执行在develop分支上 git pull 返回提示: 解决办法,即按照提示: 查看本地分支的远端跟踪分支 要查看本地分支跟踪的远端分支,可以使用 git branch 命令搭配不同的选项。以下是一些常用的命令及其说明: 查看所有本地分支及对应的远端跟踪分支: 使用 -vv 选项可以显示

    2024年02月21日
    浏览(46)
  • git 出现 There is no tracking information for the current branch. Please specify which branch you want

    问题分析:当前pull对象没有远程分支的跟踪信息,简单地来说就是你创建的这个分支没有和远程仓库中的其他分支或者master建立联系,所以导致当前分支无法进行pull操作; 解决方案: git branch --set-upstream-to=origin/remote_name local_name 注解: remote_name : 远程分支名 // 这里是你创

    2024年02月05日
    浏览(48)
  • git branch --show-current 和 git rev-parse --abbrev-ref HEAD 区别

    git branch --show-current 和 git rev-parse --abbrev-ref HEAD 命令都可以用于获取当前所在的 Git 分支名称。 但是,它们之间有一些不同点: git branch --show-current 命令是 Git 2.22 版本中新增的,可以直接显示当前所在分支的名称,而不需要进行额外的选项或管道。如果版本较旧,则执行该命

    2024年02月14日
    浏览(56)
  • Git出现There is no tracking information for the current branch提示的解决办法

    Git出现There is no tracking information for the current branch提示的解决办法 使用命令新建分支并切换到该分支 从远程获取代码 报错 There is no tracking information for the current branch. Please specify which branch you want to merge with. 意思是没有当前分支的追踪信息 解决: 以上两行命令可简写为 即将本

    2024年02月12日
    浏览(50)
  • git报错:Updates were rejected because the tip of your current branch is behind

    多人协作项目,其他成员提交之后,你这边没有拉取最近代码就要进行推送,远程仓库和本地仓库不同步。 一般远程仓库和本地仓库是同步的,当有另一个人克隆远程仓库并修改推送代码后,你这边的本地仓库再进行推送会提示这个错误。“更新被拒绝,因为您当前分支的提

    2024年02月15日
    浏览(63)
  • 【Git】Git报错:Branch ‘master‘ set up to track remote branch ‘master‘ from ‘orgin‘

    前言 :如果遇到将从git上拉取的代码,直接上传到新的git仓库地址,注意,需要修改git源,否则,会报错。 报错信息如下: Git报错:Branch ‘master’ set up to track remote branch ‘master’ from ‘orgin’ 解决方案: ①移除之前的git源: ②再次连接新的git源:

    2024年02月11日
    浏览(51)
  • git 新建分支 推送到远程 首次pull代码报错 git branch --set-upstream-to=origin/<branch>

    在本地创建新分支后,上传到远程仓库,首次pull 的时候,会提示: 当前分支与远程分支并未建立联系,需要执行一下 git branch --set-upstream-to=origin/ 操作 解决办法: git branch --set-upstream-to=origin/远程分支名 建立完联系之后,就可以进行 git pull、git push 等操作啦~

    2024年02月16日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包