美文网首页
Git 代码冲突解决,提交错误分支解决

Git 代码冲突解决,提交错误分支解决

作者: vivian310 | 来源:发表于2021-07-06 09:56 被阅读0次

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

相关文章

  • Git 16解决分支冲突

    Git 解决分支冲突 ======== 代码

  • (4.2) git分支管理-解决冲突

    小结 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 解决冲突就是把Git合并失败...

  • Git 代码冲突解决,提交错误分支解决

    1、 创建一个新分支保存当前修改 2、切到master分支 3、将master分支更新到最新 4、切换到刚刚新建的...

  • Git常用命令大全

    Git分支工作操作步骤 解决冲突1 解决冲突2 这些命令会把你的"mywork"分支里的每个提交(commit)取...

  • git常用快捷键

    一、《代码写完发现git分支错了》 情况1:“尚未将修改后的代码提交到错误的分支” 解决方案(如上):第1⃣️步,...

  • git强制合并分支

    git A分支合并B分支,并强制使用B分支代码(不手动解决冲突) git A分支合并B分支,并强制使用A分支代...

  • 2018-07-06 Git解决冲突

    Git进阶-解决冲突文件 问题说明: 本地分支:master&active 修改代码分支:master 需合并代码...

  • GIT命令

    GIT提交代码合入分支冲突

  • git 提交冲突解决

    git 提交冲突解决

  • git常见问题

    1. 本地分支提交到远程分支,出现冲突 思路:将本地代码先提交到暂存区,在推送到远程,发现冲突,然后解决冲突,me...

网友评论

      本文标题:Git 代码冲突解决,提交错误分支解决

      本文链接:https://www.haomeiwen.com/subject/lrowultx.html