1、 创建一个新分支保存当前修改
git checkout -b vivian_local
2、切到master分支
git checkout master
3、将master分支更新到最新
git reset --hard remotes/m/master
4、切换到刚刚新建的临时分支,找到最新修改的commit:b36ad512c7eb9c41b15973bc8900815887abd793
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git checkout vivian_local
Switched to branch 'vivian_local'
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git log
commit b36ad512c7eb9c41b15973bc8900815887abd793
Author: vivian.ma <vivian.ma@goertek.com>
Date: Mon Jul 5 18:06:59 2021 +0800
[Name]:[Keeper2][SensorManager] Commit ekg debug code
[Problem]
Commit ekg debug code.
[Solution]
Commit ekg debug code.
[Test]
Build a new version.
Change-Id: Iffb51ab4fa07c39b70a27aee9b64a929a886ee98
commit 07c212b00a822d996781daed208e95f3ff142b33
Author: vivian.ma <vivian.ma@goertek.com>
Date: Sat May 8 11:02:23 2021 +0800
[Name]:[Keeper2][Lockscreen] Disable lockscreen
5、再切换到master分支
git checkout master
6、将临时分支的修改(commit:b36ad512c7eb9c41b15973bc8900815887abd793)cherry-pick到master分支上
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git cherry-pick b36ad512c7eb9c41b15973bc8900815887abd793
error: could not apply b36ad51... [Name]:[Keeper2][SensorManager] Commit ekg debug code
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
7、cherry-pick后可以看到有冲突,所以查看冲突文件,可以看到冲突文件是api/current.txt
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git status
On branch master
You are currently cherry-picking commit b36ad51.
(fix conflicts and run "git cherry-pick --continue")
(use "git cherry-pick --abort" to cancel the cherry-pick operation)
Changes to be committed:
modified: core/java/android/hardware/LegacySensorManager.java
modified: core/java/android/hardware/Sensor.java
modified: core/java/android/hardware/SensorManager.java
modified: core/java/android/hardware/SystemSensorManager.java
modified: core/jni/android_hardware_SensorManager.cpp
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: api/current.txt
8、查看冲突内容
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git diff
diff --cc api/current.txt
index a948977,de29486..0000000
--- a/api/current.txt
+++ b/api/current.txt
@@@ -47485,7 -47487,7 +47487,11 @@@ package android.view
field public static final int KEYCODE_MENU = 82; // 0x52
field public static final int KEYCODE_META_LEFT = 117; // 0x75
field public static final int KEYCODE_META_RIGHT = 118; // 0x76
++<<<<<<< HEAD
+ field public static final int KEYCODE_MICMUTE = 284; //0x11c
++=======
+ field public static final int KEYCODE_MICMUTE = 284; // 0x11c
++>>>>>>> b36ad51... [Name]:[Keeper2][SensorManager] Commit ekg debug code
field public static final int KEYCODE_MINUS = 69; // 0x45
field public static final int KEYCODE_MOVE_END = 123; // 0x7b
field public static final int KEYCODE_MOVE_HOME = 122; // 0x7a
@@@ -47547,7 -47549,7 +47553,11 @@@
field public static final int KEYCODE_SETTINGS = 176; // 0xb0
field public static final int KEYCODE_SHIFT_LEFT = 59; // 0x3b
field public static final int KEYCODE_SHIFT_RIGHT = 60; // 0x3c
++<<<<<<< HEAD
+ field public static final int KEYCODE_SHUTTER = 285; //0x11d
++=======
+ field public static final int KEYCODE_SHUTTER = 285; // 0x11d
++>>>>>>> b36ad51... [Name]:[Keeper2][SensorManager] Commit ekg debug code
field public static final int KEYCODE_SLASH = 76; // 0x4c
field public static final int KEYCODE_SLEEP = 223; // 0xdf
field public static final int KEYCODE_SOFT_LEFT = 1; // 0x1
9、解决冲突
vi api/current.txt
vi中操作指南如下
查找:/>>>
删除当前行:dd
查找下个:f
10、查看冲突解决结果
vivian@vivian-OptiPlex-9020:~/workspace/keeper2/code/frameworks/base$ git diff
diff --cc api/current.txt
index a948977,de29486..0000000
--- a/api/current.txt
+++ b/api/current.txt
11、提交解决好的文件,并提交git
git add .
git commit
git push origin HEAD:refs/for/master
网友评论