進來一段時間一直在忙碌,很少回頭總結學過,用過的知識,由於缺少總結導致下次在遇到的時候總是記憶很模糊,有種似曾相識但卻無能爲力的感覺。特在此加以總結形成博客.很多原理性東西還不是很懂,
以後有時間慢慢研究來。
創建git 倉庫:
mkdir code;
cd code;
git init 初始化一個新的空倉庫
然後我把整個Android 的工程源碼都拷貝到這個code目錄下面啦。
git add -A
git config --global user.name "micheal"
git config --global user.email "michealchen@***"
git commit -m "init the code"
到這裏我認爲已經把git的服務器代碼倉庫建立好了、
當我使用git clone [email protected]:/home/micheal/code/.git的時候下載完整個代碼。
在我編譯的過程中,發現居然編譯無法通過
對比發現在Android的源碼\external裏面的部分文件沒有被添加到倉庫,導致丟失了很多文件,始終不能編譯通過。
後面諮詢了一下以前公司的同事大牛。源碼是自己創建的倉庫的步驟和方法有問題,特此把大牛的方法總結如下(感謝龍哥的指點!):
服務器端(ip:192.168.1.206):
mkdir code;
cd code;
mkdir mtk8312.git;
cd mtk8312.git;
git init --bare;
cd ..
chmod -R 777 mtk8312.git;
至此服務器的倉庫已經初始化完畢了。
客戶端(ip:192.168.1.222):
cd Android //進入到Android 源碼的根目錄下面
git init-db //這句話不太明白什麼意思,先記錄下來,有時間在回來研究
git add -f * //-f 是force的縮寫
git commit -m "init the code";
git remote add master [email protected]:/home/micheal/code/ mtk8312.git
git push master --all
到現在爲止就等於把服務器的代碼倉庫的初始代碼提交上來了
然後其他的服務器就可以使用clone 的命令取掉服務器上的代碼了。
git clone [email protected]:/home/micheal/code/mtk8312.git
同事反饋會報如下錯誤
解決方法:
sudo chown -R git:git webSer.git 如果不管用使用下面的命令
發現.git/object/沒有group寫權限導致;執行 $ sudo chmod g+w -Rmtk8312.git/object 後OK