燚智能硬件開發網
講講物聯網和智能硬件開發的那些事!
前言
在手機、智能硬件和物聯網設備中,需要對Android系統的驅動層、框架層進行大量修改。
不同於APP軟件開發,Android系統級軟件源代碼非常龐大,動輒上10G,還有很多人合作修改。
我們可以自建Git服務器,對Android系統級源碼開發做好代碼上傳和改動管理。
如何分配版本庫權限
1. 先由用戶提供一個*.pub文件, 可以使用下面方法生成, pubname是用戶名.
ssh-keygen -f ~/.ssh/pubname
2. 在上述生成的 ~/.ssh/目錄下創建一個config文件,pubname是用戶名
3. 將用戶生成的pubname.pub 拷貝到gitolite服務器,
scp pubname.pub user@IP
4.切換到gitolite服務器,可以看到gitolite-admin目錄,
ssh pub user@IP
5. 將pubname.pub 移動到gitolite-admin/keydir
6. 進入/gitolite-admin/conf目錄,使用vim打開gitolite.conf, 如需打開modem的權限,在如下位置,將pubname名字添加就可以.
7. 保存退出後,我們使用git status 查看,有兩個文件有改動, 使用下面命令提交修改, 和我們代碼的修改方式一樣.
- git add gitolite.conf
- git add ../keydir/pubname.pub
-git status
查看是否所有文件都提交暫存區
- git commit -m "add pubname.pub"
8. 將我們的修改上傳到服務器.
- git push
9. 如果已經有pub文件,需要打開某個用戶的權限,只需要修改/gitolite-admin/conf/gitolite.conf
如何管理gitolite.conf
1. 我們使用vim gitolite.conf進入編輯界面後,發現有很多@TEAM的信息, 這裡是為了方便,將用戶的一些權限分組
哪些用戶具有哪些權限。
2. 在代碼的版本庫中我們就可以直接使用這個組,而不需要每個人單獨再添加.
3. 在代碼的版本庫中我們看到有RW+ , RW, R字樣,這個代表權限,按照下面方式分配
R(只讀權限):軟件部釋放此權限
RW(讀寫權限): 驅動部工作人員權限
RW+(超級讀寫權限): 管理員權限,具有糾錯上傳的能力,即如果驅動部有人錯誤上傳,可使用此權限用戶進行回溯上傳,如:
branch_name: 分支名字
commit_id: 正常提交的commit id
git reset --hard commit_id
git push -f origin branch_name:branch_name
燚智能硬件開發網
智能硬件開發實戰派!
精彩內容回顧
閱讀更多 燚智能 的文章