楼主:
ireullin (raison detre)
2014-07-31 20:14:22请问各位
我下命令 git branch -r 得到下面结果
origin/DevelopJsonComponent
origin/DevelopJsonComponent2
origin/HEAD -> origin/master
origin/developing2
origin/master
可是我一直不懂这个 origin/HEAD 是?
他是如何产生的呢?
为何会指向 origin/master?
好像不是所有的远端都会有这个?
在远端使用HEAD去指向一个远端的branch有意义吗?毕竟远端只是储存,没有实际工作
请问这个可以删掉嘛?
如果可以要如何做?
HEAD就是上次commit的进度,HEAD~1就是上一次
楼主:
ireullin (raison detre)
2014-07-31 20:24:00谢谢^^ 但是这个我知道,只是不了解的是为何远端上也有因为远端上并没有开发的行为,所以也没有切换branch的概念而且我如我要push到master,是要对HEAD还是master呢
作者:
lc85301 (pomelocandy)
2014-07-31 20:30:00我认为是master,因为head可以指到remote 的其他branch
我是用master就是,没试过headmaster是branch,head是指你commit的时间,两个是不一样的
git checkout developing2 HEAD应该就会指过去这个了(?
作者: goldie (阿良) 2014-08-02 01:28:00
remote的HEAD指的是远端default的branch也就是你在本地端git clone它时(不指定branch)git会自动帮你checkout的那个"default"的branch通常是master,除非remote git bare repo在当初在建的时候有用 git symbolic-ref HEAD refs/heads/{其他branch-name}改掉,改成指向其他的branch name。顺带一题, 若你想用git branch -d -r删掉它是没义意的。因为它只是个symbolic ref (类似指标 or symlink? XD)就跟你本地的HEAD一样,指向着你目前checkout的branch name(囧)... 发完推文才发现已经有人回文了XDDD