作者:
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