[問題] 請問 git中 origin/HEAD 指的是

看板Linux作者 (raison detre)時間11年前 (2014/07/31 20:14), 編輯推噓5(5014)
留言19則, 5人參與, 最新討論串1/2 (看更多)
請問各位 我下命令 git branch -r 得到下面結果 origin/DevelopJsonComponent origin/DevelopJsonComponent2 origin/HEAD -> origin/master origin/developing2 origin/master 可是我一直不懂這個 origin/HEAD 是? 他是如何產生的呢? 為何會指向 origin/master? 好像不是所有的遠端都會有這個? 在遠端使用HEAD去指向一個遠端的branch有意義嗎?畢竟遠端只是儲存,沒有實際工作 請問這個可以刪掉嘛? 如果可以要如何做? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.113.238 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1406808865.A.1B1.html

07/31 20:20, , 1F
HEAD就是上次commit的進度,HEAD~1就是上一次
07/31 20:20, 1F

07/31 20:24, , 2F
謝謝^^ 但是這個我知道,只是不了解的是為何遠端上也有
07/31 20:24, 2F

07/31 20:25, , 3F
因為遠端上並沒有開發的行為,所以也沒有切換branch的概念
07/31 20:25, 3F

07/31 20:26, , 4F
而且我如我要push到master,是要對HEAD還是master呢
07/31 20:26, 4F

07/31 20:30, , 5F
我認為是master,因為head可以指到remote 的其他branch
07/31 20:30, 5F

07/31 21:46, , 6F
我是用master就是,沒試過head
07/31 21:46, 6F

07/31 21:46, , 7F
master是branch,head是指你commit的時間,兩個是不
07/31 21:46, 7F

07/31 21:46, , 8F
一樣的
07/31 21:46, 8F

07/31 23:00, , 9F
git checkout developing2 HEAD應該就會指過去這個了(?
07/31 23:00, 9F

08/02 01:28, , 10F
remote的HEAD指的是遠端default的branch
08/02 01:28, 10F

08/02 01:28, , 11F
也就是你在本地端git clone它時(不指定branch)
08/02 01:28, 11F

08/02 01:29, , 12F
git會自動幫你checkout的那個"default"的branch
08/02 01:29, 12F

08/02 01:30, , 13F
通常是master,除非remote git bare repo在當初在建的時候
08/02 01:30, 13F

08/02 01:31, , 14F
有用 git symbolic-ref HEAD refs/heads/{其他branch-name}
08/02 01:31, 14F

08/02 01:32, , 15F
改掉,改成指向其他的branch name。
08/02 01:32, 15F

08/02 01:33, , 16F
順帶一題, 若你想用git branch -d -r刪掉它是沒義意的。
08/02 01:33, 16F

08/02 01:33, , 17F
因為它只是個symbolic ref (類似指標 or symlink? XD)
08/02 01:33, 17F

08/02 01:35, , 18F
就跟你本地的HEAD一樣,指向著你目前checkout的branch name
08/02 01:35, 18F

08/02 01:37, , 19F
(囧)... 發完推文才發現已經有人回文了XDDD
08/02 01:37, 19F
文章代碼(AID): #1JsZCX6n (Linux)
文章代碼(AID): #1JsZCX6n (Linux)