作者回复: 如果临时想基于某个commit做变更,试试新方案是否可行,就可以采用分离头指针的方式。测试后发现新方案不成熟,直接reset回其他分支即可。省却了建、删分支的麻烦了。
作者回复: 你这想法有点意思,加了 -b 就是新建分支了,这样肯定不会出现分离头指针。
另外,多说一句,分离头指针并不可怕,也有使用场景。请思考一下,什么情况下用分离头指针?
作者回复: 👍
作者回复: 因为我代码开发得少,在搭建git测试环境中,为了求快也这么用。
感觉浪费了git暂存区,想来有些可惜
作者回复: 现在的代码平台,比如 gitlab 高版本,对于文件夹和文件提供了lock功能,别人只能看不能修改。
作者回复: 👍
作者回复: 脑筋动起来了,👍
用了branch命令,一次只能建一个分支。可以有多个分支对应到一个commit的,所以你最后一个问题的答案是“可以”
作者回复: 对子模块远程仓库的分支做push -f ,应该可以搞定的
作者回复: 如果没有分支,就得建分支,测试完毕又得删掉,有人会嫌麻烦的。这些人会利用分离头指针的方式
作者回复: 是的。
作者回复: 切换分支前处于分离头指针状态下的文件的变更,你尝试看看还在吗?
作者回复: 分离头指针对应的commit,你如果认为有用需要保留,那就用新分支把它保留下来吧。
如果当下无master分支,可以在分离头指针状态下,git checkout -b master HEAD 。