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

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

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

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

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

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

    作者回复: 👍

    
     4
  • 未命名”
    2018-12-27
    我怎么看老师说他们使用-am的时候,一脸无奈的样子😂

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

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

    
     2
  • 一步
    2018-12-15
    分离头指针 git 会在什么时候回收呢? 是 git 自动回收呢? 还是需要手动执行 类似 git gc 这样的命令呢?
    
     2
  • 超哥
    2018-12-27
    老师,git在权限管理方面真的是一筹莫展吗?一个完整的项目,如果我希望每个人只能看到自己负责的项目,这个有办法实现吗?
    或者退而求其次,每个人只能编辑自己负责的部分,别人的只能看不能动?

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

    
     1
  • 虢國技醬
    2018-12-16
    打卡
    detached HEAD
    如何理解HEAD,很重要

    作者回复: 👍

    
     1
  • _
    2018-12-11
    老师您好,分离头指针 如果有多个commit没有挂载到branch上,是不是可以用git branch new_branch_name xxxx
    批量挂载呢?还有这个new_branch_name 是不是可以挂载到现有的 branch分支呢? 谢谢

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

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

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

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

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

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

    作者回复: 是的。

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

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

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

    
    
  • wilson
    2019-02-24
    讲的不错,虽然只看了前面几节
    
    
  • big黑钦
    2019-01-13
    苏玲老师您好!我按照操作发现,分离头指针后 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 是干嘛的呢?但是对我接下来的操作这个是没有影响的呢!
    展开
    
    
  • uccs
    2018-12-29
    老师,如果我想将分离头指针的commit添加在master分支上,是不是用git merge 新建分支。

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

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

    
    
我们在线,来聊聊吧