当前播放: 12 | 分离头指针情况下的注意事项
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:Git基础 (13讲)
01 | 课程综述
免费
02 | 安装Git
免费
03 | 使用Git之前需要做的最小配置
免费
04 | 创建第一个仓库并配置local用户信息
05 | 通过几次commit来认识工作区和暂存区
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变历史
08 | gitk:通过图形界面工具来查看版本历史
09 | 探密.git目录
免费
10 | commit、tree和blob三个对象之间的关系
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事项
13 | 进一步理解HEAD和branch
第二章:独自使用Git时的常见场景 (16讲)
14 | 怎么删除不需要的分支?
15 | 怎么修改最新commit的message?
免费
16 | 怎么修改老旧commit的message?
17 | 怎样把连续的多个commit整理成1个?
18 | 怎样把间隔的几个commit整理成1个?
19 | 怎么比较暂存区和HEAD所含文件的差异?
20 | 怎么比较工作区和暂存区所含文件的差异?
21 | 如何让暂存区恢复成和HEAD的一样?
22 | 如何让工作区的文件恢复为和暂存区一样?
23 | 怎样取消暂存区部分文件的更改?
24 | 消除最近的几次提交
25 | 看看不同提交的指定文件的差异
26 | 正确删除文件的方法
27 | 开发中临时加塞了紧急任务怎么处理?
免费
28 | 如何指定不需要Git管理的文件?
29 | 如何将Git仓库备份到本地?
第三章:Git与GitHub的简单同步 (4讲)
30 | 注册一个GitHub账号
31 | 配置公私钥
32 | 在GitHub上创建个人仓库
33 | 把本地仓库同步到GitHub
第四章:Git多人单分支集成协作时的常见场景 (5讲)
34 | 不同人修改了不同文件如何处理?
35 | 不同人修改了同文件的不同区域如何处理?
36 | 不同人修改了同文件的同一区域如何处理?
37 | 同时变更了文件名和文件内容如何处理?
38 | 把同一文件改成了不同的文件名如何处理?
第五章:Git集成使用禁忌 (2讲)
39 | 禁止向集成分支执行push -f操作
40 | 禁止向集成分支执行变更历史的操作
第六章:初识GitHub (6讲)
41 | GitHub为什么会火?
42 | GitHub都有哪些核心功能?
免费
43 | 怎么快速淘到感兴趣的开源项目?
44 | 怎样在GitHub上搭建个人博客
45 | 开源项目怎么保证代码质量?
46 | 为何需要组织类型的仓库?
第七章:使用GitHub进行团队协作 (10讲)
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code review?
53 | 团队协作时如何做多分支的集成?
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub上?
56 | 怎么给项目增加详细的指导文档?
第八章:GitLab实践 (6讲)
57 | 国内互联网企业为什么喜欢GitLab?
免费
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code review?
61 | GitLab上怎么保证集成的质量?
62 | 怎么把应用部署到AWS上?
12 | 分离头指针情况下的注意事项

12 | 分离头指针情况下的注意事项

苏玲
携程代码平台负责人
62讲 62课时,约600分钟14891
单独订阅¥68
2人成团¥55
10
登录 后留言

精选留言(21)

  • 杨成
    如果我分离头指针后做了修改并commit了,然后切换到master分支上,我之前做的修改什么时候清除,如果我过个十天半月又记起来 了能不能找回来,还是说git有个自动清除的期限。
    2018-12-21
    9
  • 你好我是老昜~
    老师您好, 那分离头指针在企业或日常使用中, 到底有哪些具体的适用地点呢?

    作者回复: 如果临时想基于某个commit做变更,试试新方案是否可行,就可以采用分离头指针的方式。测试后发现新方案不成熟,直接reset回其他分支即可。省却了建、删分支的麻烦了。

    2018-12-16
    6
  • GS
    是不是用git checkout -b 就能避免分离头指针?

    作者回复: 你这想法有点意思,加了 -b 就是新建分支了,这样肯定不会出现分离头指针。

    另外,多说一句,分离头指针并不可怕,也有使用场景。请思考一下,什么情况下用分离头指针?

    2018-12-12
    6
  • 克里斯
    git checkout commitId:会出现分离头指针的情况,这种情况下比较危险,因为这个时候你提交的代码没有和分支对应起来,当切换到其他分支的时候(比如master分支),容易丢失代码;
        但是分离头指针也有它的应用场景,就是在自己做尝试或者测试的时候可以分离头指针,当尝试完毕没有用的时候可以随时丢弃,但是如果觉得尝试有用,那么可以新建一个分支,使用 git branch <新分支的名称> commitId

    作者回复: 👍

    2019-01-10
    4
  • 未命名”
    我怎么看老师说他们使用-am的时候,一脸无奈的样子😂

    作者回复: 因为我代码开发得少,在搭建git测试环境中,为了求快也这么用。

    感觉浪费了git暂存区,想来有些可惜

    2018-12-27
    2
  • 超哥
    老师,git在权限管理方面真的是一筹莫展吗?一个完整的项目,如果我希望每个人只能看到自己负责的项目,这个有办法实现吗?
    或者退而求其次,每个人只能编辑自己负责的部分,别人的只能看不能动?

    作者回复: 现在的代码平台,比如 gitlab 高版本,对于文件夹和文件提供了lock功能,别人只能看不能修改。

    2018-12-27
    1
  • 虢国技酱
    打卡
    detached HEAD
    如何理解HEAD,很重要

    作者回复: 👍

    2018-12-16
    1
  • 一步
    分离头指针 git 会在什么时候回收呢? 是 git 自动回收呢? 还是需要手动执行 类似 git gc 这样的命令呢?
    2018-12-15
    1
  • _
    老师您好,分离头指针 如果有多个commit没有挂载到branch上,是不是可以用git branch new_branch_name xxxx
    批量挂载呢?还有这个new_branch_name 是不是可以挂载到现有的 branch分支呢? 谢谢

    作者回复: 脑筋动起来了,👍
    用了branch命令,一次只能建一个分支。可以有多个分支对应到一个commit的,所以你最后一个问题的答案是“可以”

    2018-12-11
    1
    1
  • yvanbu
    关于分离头指针的使用场景,是指退回到某一个提交,以前我都是git reset 到某个提交实现的,这两种是不是类似?
    2019-10-14
  • 钱洋彪
    所以探秘.git目录中讲HEAD是代表仓库当前所在的分支并不严谨,分离头指针的情况下,HEAD并不表示任何分支,只是代表某个commit。
    2019-10-11
  • 君莫惜
    git每一次提交之后都会产生一个commit对象,每个commit对象会包含一个tree(文件夹),这个tree会包含其他的tree或blob(文件)
    2019-06-30
  • 混子
    老师,想问一下,我在本地的子模块不知道怎么就分离了头指针,不仅commit了,还push到远程仓库了。现在把远程的仓库的head指针拉了回来。但是commit的那个东西还是在远程仓库中,不知道怎么删除,递归克隆的时候会报错,想问问这个怎么办

    作者回复: 对子模块远程仓库的分支做push -f ,应该可以搞定的

    2019-04-23
  • 小宝儿
    如果是测试的话直接回滚到某次提交,然后检出分支测试不就行了吗?没必要使用分离头指针吧。

    作者回复: 如果没有分支,就得建分支,测试完毕又得删掉,有人会嫌麻烦的。这些人会利用分离头指针的方式

    2019-04-02
  • Laura_Ran
    修改已经跟踪的文件,可以直接提交,
    未跟踪的文件,还是要先 add

    作者回复: 是的。

    2019-03-20
  • Laura_Ran
    git commit -am "test"
    On branch Test
    Your branch is up-to-date with 'origin/Test'.
    Untracked files:
    test.php

    似乎不能直接 am
    2019-03-20
  • 书剑
    苏老师,请问分离头指针什么情况下会被git丢弃,我试了忽略提示创建分支的提示,切换分支后继续commit,然后再执行他先前给出的提示一样可以根据分离头指针创建新的分支。

    作者回复: 切换分支前处于分离头指针状态下的文件的变更,你尝试看看还在吗?

    2019-03-19
  • wilson
    讲的不错,虽然只看了前面几节
    2019-02-24
  • big黑钦
    苏玲老师您好!我按照操作发现,分离头指针后 git status 结果如下:
    $ git status
    HEAD detached at be8dd07
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
            modified: styles/style.css
    (=============多出部分================)
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            das
    no changes added to commit (use "git add" and/or "git commit -a")

    请问我如下部分你提示的 das 是干嘛的呢?但是对我接下来的操作这个是没有影响的呢!
    2019-01-13
  • uccs
    老师,如果我想将分离头指针的commit添加在master分支上,是不是用git merge 新建分支。

    作者回复: 分离头指针对应的commit,你如果认为有用需要保留,那就用新分支把它保留下来吧。

    如果当下无master分支,可以在分离头指针状态下,git checkout -b master HEAD 。

    2018-12-29
收起评论
看过的人还看
数据结构与算法之美

王争  前Google工程师

75讲 | 72096 人已学习

拼团 ¥79 原价 ¥99
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 43514 人已学习

拼团 ¥79 原价 ¥99
左耳听风

陈皓  网名“左耳朵耗子”,资深技术专家,骨灰级程序员

108讲 | 40616 人已学习

拼团 ¥199 原价 ¥299
趣谈网络协议

刘超  网易研究院云计算技术部首席架构师

51讲 | 39738 人已学习

拼团 ¥79 原价 ¥99