开发中遇到detached head的解决方法
来源:互联网 发布:淘宝宝贝关联阿里巴巴 编辑:程序博客网 时间:2024/06/05 20:50
detached head是一种HEAD指针指向了某一个具体的 commit id,而不是分支的情况。在这个状态下进行的commit不会对你的远程分支产生影响。先看看detached head状态下是什么情况:
1.从远程库clone下来一个远程的repository:
2. clone下来之后,git自动在本地建立了一个本地分支master,并自动与远程库master关联。此时指针指向的是一个master副本的本地分支。这个分支的内容和远程库master一致,代表你本机本地的副本。红色部分为远程分支。你在本地的分支操作(add,commit),然后push到远程的master中进行更新,远程master的更新也通过pull 与你本地的合并,以此来保持同步。
3.现在checkout到Campus_MD分支。因为本地的工作区目前是master分支的代码,checkout一下就会出现detached head的状态。在之前clone下来时,本地系统自动帮你创建了一个本地master分支与远程master关联。但是此次直接checkout Campus_MD分支时,本机上没有本地分支与之关联,就出现了detached head的情况(直接指向了commit id),所以据此猜测,应该有checkout的参数,使在checkout切换到远程分支时,自动创建一个本地分支与之对应。
就这个理解的话,那么此时只需手动在本地新建一个分支与你想要工作的分支进行关联,就会在你的工作区正常的出现 目录【分支名 ~0 ~0 ~0】这样的正常提示了。
你看,git也是这么提示的
。因为你checkout的是一个远程分支而不是本地的(因为git是一个离线的版本控制系统嘛),git只能给你一个commit id让你进行操作。这时候想正常操作,git就提示你 在此commit id的基础上新建一个分支并 与之关联(set-upstream)。就行了。
以前懵懂时候的操作,没有遇到detached head。clone下来之后,直接git checkout branchName ,系统就自动创建了一个新的分支,当时以为这就切换到了对应的远程分支上工作。虽然操作是正确的,但是一直没有明白其中的道理,以至于在checkout一个 origin/branchName的时候 遇到detached head就不知所措了。
好了,这算是最近遇到的一个git问题了,它并不是一个新问题,只是当初学习的时候一知半解留下的技术债务。
- 开发中遇到detached head的解决方法
- HEAD detached at head的处理
- detached HEAD
- detached HEAD
- 使用idea commit代码时遇到的detached head 问题的解决
- 开发中遇到的问题和解决方法
- detached HEAD意义详解
- Git之detached HEAD
- detached HEAD意义详解
- git detached from head
- git detached HEAD explained
- 关于hibernate 持久化中遇到的detached entity passed to persist异常解决
- 在软件开发中遇到ORA-06413错误的解决方法
- 最近开发中遇到的DLL问题思考及解决方法
- Web Part 开发中遇到的问题及解决方法
- ssh框架开发中遇到的部分问题及解决方法
- android 开发中遇到的问题及解决方法
- android 开发中遇到的问题及解决方法
- Java集合之Map
- django form关于clean及cleaned_data的说明 以及4种初始化
- 题目:二叉树中的最大路径和
- Android屏幕适配全攻略(最权威的官方适配指导)
- POJ 3185 The Water Bowls(高斯消元法,枚举自由变元)
- 开发中遇到detached head的解决方法
- install scrapy
- 关于继承的问题的一些讨论
- (5)Django框架学习-Forms篇
- python处理文本一处代码优化过程
- New THUer | 如何提高科研效率
- Dns的概念
- lintcode 有效的括号序列
- Lua 5.3 参考手册 (1)