Repo和Git 版本管理常用命令總結

2021-06-08 15:41:15 字數 3544 閱讀 1872

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進行本地操作,比如...