repo init -u [email protected]:i700t_60501010/platform/manifest.git -b froyo_almond -m m76xxtsncjnlya60501010.xml
repo sync
repo forall -c git checkout --track origin/i700t_60501010 -b [你的本地分支]
或者:git clone [email protected]:6120_gingerbread/arm9-6120.git
git checkout --track origin/arm9_6120 -b [你的本地分支名]
2. 伺服器新加倉庫同步:
請按如下步驟取得lanucher_wpon的**:
1:~> cd i700t/.repo/manifest
2: i700t/.repo/manifest> git pull --rebase
3: i700t/.repo/manifest> cd ../..
7:git checkout --track origin/froyo_almond -b [你的本地分支]
3. 上傳本地修改到伺服器
repo forall -c git pull --rebase 和伺服器同步(要上傳**前,一般先進行此操作)
git add . 或git add 檔名 新增當前倉庫修改的檔案
git commit -m "..." 在引號中新增你的修改記錄
git push origin 本地分支名:froyo_almond 上傳本地修改的**
4. 設定一些預設的全域性變數,對所有工程**有效
git config --global user.name yourmail
git config --global user.email yourmail
git config --global push.default tracking 這樣後續git push 後面不用帶引數
5.檢視修改記錄
git log 本地倉庫修改記錄
repo forall -c git log --since="2011-04-19" --until="2011-04-21" 按條件檢視工程所有倉庫修改記錄
repo status 檢視工程中所有倉庫的修改狀態(包括檔案位置)
git status 檢視倉庫修改狀態
6. 分支相關
git branch 檢視本地branch
git branch -r 檢視遠端branch
git branch -a 檢視所有branch
git branch -d (-d) (branch name) 刪除branch
cat .git/config 可以檢視本地branch一些資訊
7. 修改恢復相關
git checkout filename1 filename2 ... 取消本地修改,和伺服器同步
git stash
git reset --soft head_commit 恢復到最後一次commit,保持**修改
git reset --hard commit 恢復到指定一次commit,放棄之前所有修改
#回退a.py這個檔案的版本到上乙個版本
git reset head^ a.py
git reset commitno filename
8. 本地某倉庫出問題了,不好鬧騰時,刪除之,並重新同步跟蹤
project_folder/vendor/qcom$ rm -rf proprietary/ 進到相應目錄,刪除之
project_folde$ repo sync platform/vendor/qcom/proprietary 重新repo sync,後面路徑名稱可檢視:
gedit .repo/manifest.xml
git branch -a ----列舉所有branch
git branch -d 700_arm11_server
git branch -d 700_arm11_server_wifi --刪掉所有本地branch
git checkout --track origin/froyo_almond -b 700_arm11_server 然後track遠端branch,重新建立本地分支
9.tag的使用
git tag [tag_name] [version],在對應版本上(一般用change的sha1),建立tag
git tag -l 列出當前tag
git tag -d [tag_name] 刪除tag
有了tag以後,可以使用git checkout [tag_name] -b [branch_name]來檢出對應tag時刻的**。也可以用tag name來實現diff等功能。
10. patch的使用
git diff filename1 filename2 ... 修改位置對比,檢視原始碼
git diff > ***.patch 將修改的地方打成乙個patch
11. 後續有用到的命令繼續新增
git revert 是撤銷某次提交。git reset –hard,才是退回到以前的版本
git reset --soft commitnum 儲存**修改的reset,但這個時候無法使用git diff 進行比較修改的檔案,必須:
git reset filename filename 這樣就可以git diff檢視
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c 檢視某兩個版本之間的差異
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename 檢視某兩個版本的某個檔案之間的差異
git 命令別名
$ git config –global alias.co checkout // co將會成為checkout的別名
$ git config –global alias.br branch
$ git config –global alias.ci commit
$ git config –global alias.st status
$ git config –global user.name 「username」
$ git config –global user.email [email protected]
Repo和Git 版本管理常用命令總結
repo init u git 192.168.1.11 i700t 60501010 platform manifest.git b froyo almond m m76xxtsncjnlya60501010.xml repo sync repo forall c git checkout tra...
Repo和Git 版本管理常用命令總結
repo init u git 192.168.1.11 i700t 60501010 platform manifest.git b froyo almond m m76xxtsncjnlya60501010.xml repo sync repo forall c git checkout tra...
基於Repo和Git的版本管理
涉及android源 的工作需要用到的git和repo工具。多數情況下我們可以用git工具代替repo,或者兩者混用組合成更複雜的命令。而repo工具可以使android的網路操作更加簡潔。git是乙個開源版本管理系統,旨在處理各種知識庫發布的大型專案。一般來說,我們可以使用git進行本地操作,比如...