• 使用分支——Git Checkout


    这篇文章写的挺好;

    https://zhuanlan.zhihu.com/p/465954849

    这里要注意,git 新的命令,通过 git switch 切换分支,虽然git checkout 分支 还可以用;

    游离状态的HEADS

    在我们已经见识到git checkout命令对于分支的三大主要操作之后,现在该到了讨论一下“游离状态的HEAD”的问题了。再次明确一下,HEAD是Git中用来引用当前快照的指针。在Git内部,git checkout命令只是简单地将HEAD指针更新为指向特定分支或者commit。当它指向一个分支时,没什么问题,但是当你checkout了一个特定的commit,就会将HEAD指针变成一个游离的指针状态。

    当进入这种游离状态时,Git会警告你当前处于游离状态,你所做的任何更改也都游离于你整个项目的开发流程。如果你执意要在游离状态开展新的修改,这些修改将不会被允许再合并回任何分支。然后当你没有办法只能切换到其他分支时,这部分修改也无法被带回到新的分支:

    重点在于,开发工作应该始终发生在一个分支上——而不是一个游离状态的HEAD上。谨记这一原则可以保证你的变更提交永远都能找到。当然,如果你只是为了去看看某一个过去的提交,则无所谓是否处于游离状态。

    总结

    本文重点是关于使用git checkout命令进行分支的切换。总而言之,针对分支使用git checkout命令,会切换当前的HEAD指针指向。它还可用于创建分支,切换分支,checkout远程分支。git checkout命令对于Git项目的操作来说是至关重要的。可以认为它与git merge命令是一体两面。git checkout命令和git merge命令结合在一起使用才使得一系列复杂而又精妙的git 工作流程成为可能。

    本段内容引用与: https://zhuanlan.zhihu.com/p/465954849

    使用分支——Git Checkout - 知乎

    如果临时切换 commit 历史记录,直接 git checkout commitID ;

    但是修改后的提交记录,没有保存在项目中,如果切换分支后,历史记录就找不到了,除非自己一直保持中 当时的 commitID;

    如果想要保留修改内容,也要保留 commit 记录,那么需要创建新的分支修改;

    如果:

    git checkout -b  newBranchName commitID

    git checkout -b 与 git checkout

    1:

    git checkout -b serverfix origin/serverfix

    从远程分支 创建一个 同名的 本地分支 serverfix

    git checkout -b 是 git branch 创建分支 和 git check out 切换分支两个命令;

    2:当然 上个命令 可以简化为:

    git checkout serverfix 

     git checkout 不是切换分支么?

    其实是 git checkout --track origin/serverfix 的简化;

    Git - 远程分支

    由于这个操作太常用了,该捷径本身还有一个捷径。 如果你尝试检出的分支 (a) 不存在且 (b) 刚好只有一个名字与之匹配的远程分支,那么 Git 就会为你创建一个跟踪分支:

    3:

    git checkout -b 可以创建一个和远程分支名字不一样或者一样的本地分支;

    git checkout     当本地分支不存在,如果服务器的名字存在,就在本地创建一个同名的track分支;

  • 相关阅读:
    Java面试问题汇总
    【竞赛题目】木块(C语言详解)
    【redis实现自增流水并设置过期时间】
    使用java解析hashMap
    leecode#用Read4读取n个字符#相交链表
    [容器][Docker]Docker参数设置
    《深度探索C++对象模型》阅读笔记 第二章 构造函数语意学
    【毕业设计】模块介绍:人体红外热释电传感器 -物联网 嵌入式 单片机
    ps常用操作
    trucksim常见问题
  • 原文地址:https://blog.csdn.net/chinabinlang/article/details/132854027