(轉)關於git倉庫的初始化和git push的操作
**********************************************************
為git安裝一個遠端倉庫
2010-05-28 Linux需要將程式碼push到一個遠端倉庫
在遠端伺服器上初始化空的倉庫
mkdir /home/git/myapp.git && cd /home/git/myapp.git
git –bare init
初始化了一個空的倉庫
在本地的git倉庫新增一個遠端倉庫
cd ~/myapp
git remote add origin ssh://myserver.com/home/git/myapp.git
這時候,本地的 .git/config 應該會改變
git push origin master
將本地的 master分支 跟蹤到遠端的分支
顯示遠端資訊
git remote show origin
**********************************************************
git預設拒絕了push操作,需要進行設定,修改.git/config新增如下程式碼:
[receive]
denyCurrentBranch = ignore
在初始化遠端倉庫時最好使用 git --bare init 而不要使用:git init
如果使用了git init初始化,則遠端倉庫的目錄下,也包含work tree,當本地倉庫向遠端倉庫push時, 如果遠端倉庫正在push的分支上(如果當時不在push的分支,就沒有問題), 那麼push後的結果不會反應在work tree上, 也即在遠端倉庫的目錄下對應的檔案還是之前的內容,必須得使用git reset --hard才能看到push後的內容.
*********************************************************
在初始化遠端倉庫最好使用下面命令來初始化:
git --bare init
而不要使用:
git init
如果使用了git init初始化,則遠端倉庫的目錄下,也包含work tree,當本地倉庫向遠端倉庫push時
如果遠端倉庫正在push的分支上(如果當時不在push的分支,就沒有問題)
那麼push後的結果不會反應在work tree上
也即在遠端倉庫的目錄下
對應的檔案還是之前的內容,必須得使用git reset --hard才能看到push後的內容