git push 原本預設的行為是沒啥問題就直接送進遠端的repo,但這是有一個潛在的風險,當遠端的repo不是bare(請看git clone --help)而遠端的使用者用正在改working tree時,會造成working tree的base異動(會發生啥事?)。大大們承認這是當初設計上的失誤,想在之後的版本上修正,但又不想像1.6.0 把 '-'拿掉搞的天怒人怨,要來個漸進式的招術

在1.6.4,當push 回一個 non-bare 的repo 時,會產生警告,但是還是讓你丟進去
在1.6.5後,預設的值是拒絕。

可以在遠端的設定檔的

receive.denyCurrentBranch # true/refuse, warn, false/ignore
receive.denyDeletes # for branch delete


加以設定

詳細可看1.6.4 releasenotes

murmur: 不知不覺git 的版本已經來到 1.6.4,ubuntu的官方package 還在 1.6.0.4,什麼時候才會更新阿 @@~


cmchao 發表在 痞客邦 PIXNET 留言(0) 人氣()