git init --bare

1 git init  git init –bare 的區別git

 "git init"初始化的版本庫用戶也能夠在該目錄下執行全部git方面的操做。但別的用戶在將更新push上來的時候容易出現衝突。spa

好比有用戶在該目錄(就稱爲遠端倉庫)下執行git操做,且有兩個分支(master b1),當前在master分支下。另外一個用戶想把本身在本地倉庫(就稱爲本地倉庫)的master分支的更新提交到遠端倉庫的master分支,他就想固然的敲了it

git push origin master:masterio

因而乎出現ast

由於遠端倉庫的用戶正在master的分支上操做,而你又要把更新提交到這個master分支上,固然就出錯了。class

但若是是往遠端倉庫中空閒的分支上提交仍是能夠的,好比方法

git push origin master:b1   仍是能夠成功的im


 

解決辦法就是使用git init –bare方法建立一個所謂的裸倉庫,之因此叫裸倉庫是由於這個倉庫只保存git歷史提交的版本信息,而不容許用戶在上面進行各類git操做,若是你硬要操做的話,只會獲得下面的錯誤(This operation must be run in a work treeimg

這個就是最好把遠端倉庫初始化成bare倉庫的緣由。di

相關文章
相關標籤/搜索