1. 程式人生 > >RHEL/Android/Git/repo switch branch in AOSP source

RHEL/Android/Git/repo switch branch in AOSP source

[email protected]:~/Google/android-8.1.0_r33$cd .repo/manifests


[email protected]:~/Google/android-8.1.0_r33/.repo/manifests$ git branch -a | grep   android-8.1.0_r33
  remotes/origin/android-8.1.0_r33
[email protected]:~/Google/android-8.1.0_r33/.repo/manifests$  git branch -a | cut -d / -f 3  ## see all tags 

######## new branch is in local already


[email protected]:~/Google/android-8.1.0_r33$ repo init -b  android-8.1.0_r33
.repo/manifests/: discarding 484 commits

Your identity is: Lake <[email protected]>
If you want to change this, please re-run 'repo init' with --config-name

repo has been initialized in /home/lake/Google/android-8.1.0_r33

[email protected]:~/Google/android-8.1.0_r33$   repo forall -c git checkout  android-8.1.0_r33
[email protected]:~/Google/android-8.1.0_r33$   repo forall -c git reset --hard

#########  new branch is NOT in local yet


[email protected]:~/Google/android-8.1.0_r33$ repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r33

[email protected]:~/Google/android-8.1.0_r33$  repo forall -c 'git reset --hard; git clean -f -d -x';    ### Clean all local changes
[email protected]:~/Google/android-8.1.0_r33$ repo sync  -j32
.......................
Fetching projects: 100% (591/591), done.  
Deleting obsolete path /home/lake/Google/android-8.1.0_r33/external/libvorbis
Syncing work tree: 100% (591/591), done.  

device/asus/fugu-kernel/: discarding 1 commits
device/google/dragon-kernel/: discarding 1 commits
device/google/marlin-kernel/: discarding 1 commits
device/google/wahoo-kernel/: discarding 1 commits
device/huawei/angler-kernel/: discarding 1 commits
device/lge/bullhead-kernel/: discarding 1 commits
external/chromium-webview/: discarding 1 commits
prebuilts/abi-dumps/vndk/: discarding 1 commits
prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/: discarding 1 commits
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/: discarding 1 commits
prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9/: discarding 1 commits
prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/: discarding 1 commits
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/: discarding 1 commits
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/: discarding 1 commits
prebuilts/gradle-plugin/: discarding 1 commits
prebuilts/maven_repo/android/: discarding 1 commits
prebuilts/ndk/: discarding 1 commits
prebuilts/qemu-kernel/: discarding 1 commits
prebuilts/sdk/: discarding 1 commits
prebuilts/tools/: discarding 1 commits 


############# start a local repo branch for all git projects !!  ########### Attention the branch name

[email protected]:~/Google/android-8.1.0_r33$  repo start  android-8.1.0_r33    --all   

####  'android-8.1.0_r33'  will be  ambiguous
Starting android-8.1.0_r33: 100% (591/591), done.  
[email protected]:~/Google/android-8.1.0_r33$ 

  
[email protected]:~/Google/android-8.1.0_r33$ repo branches
*  android-8.1.0_r33         | in all projects
[email protected]:~/Google/android-8.1.0_r33$ 

 

####  'android-8.1.0_r33'  will be  ambiguous in branch name and tag name

You can explicitly specify whether you want a branch or a tag by using full name:

 git checkout refs/heads/android-8.1.0_r33
or

git checkout refs/tags/android-8.1.0_r33

[email protected]:~/Google/repo-aosp-AndroidN7.1.x-8.1$ repo branch 
*  android-8.1.0_r33         | in all projects

 

repo forall -c git checkout  refs/tags/android-8.1.0_r33   <<<<<<< ---------- Checkout tag of android-8.1.0_r33

repo forall -c git branch  -D  android-8.1.0_r33 <<<<<<< ---------- delete all branches of android-8.1.0_r33 to avoid ambiguous