美文网首页
git am 冲突

git am 冲突

作者: xuefeng_apple | 来源:发表于2020-08-20 14:21 被阅读0次

平时修改过的代码,我们会用patch文件保存改动。但是伴随着主线代码的不断更新,我们在早期保存出来的patch中有部分内容可能已经不能再直接打入现在的代码里了。这种情况下可以使用下面的方法解决冲突:

1、执行命令 git am xxxx.patch 尝试直接打入补丁。因为我们使用的 patch 已经过时了,所以这一步肯定会报错并中断(注意,虽然命令停止执行了,但我们依然处于git am命令的运行环境中,可以通过git status命令查看到当前的状态)。

2、执行命令 git apply --reject xxxx.patch 自动合入 patch 中不冲突的代码改动,同时保留冲突的部分。这些存在冲突的改动内容会被单独存储到目标源文件的相应目录下,以后缀为 .rej 的文件进行保存。比如对 ./test/someDeviceDriver.c 文件中的某些行合入代码改动失败,则会将这些发生冲突的行数及内容都保存在 ./test/someDeviceDriver.c.rej 文件中。我们可以在执行 git am 命令的目录下执行 find -name *.rej 命令以查看所有存在冲突的源文件位置。

3、依据 步骤2 中生成的 *.rej 文件内容逐个手动解决冲突,然后删除这些 *.rej 文件。完成这一步骤的操作后,我们就可以继续执行 git am 的过程了。(可以先git add source_file ,然后依据rej解决冲突)

4、执行命令 git status 查看当前改动过的以及新增的文件,确保没有多添加或少添加文件。

5、执行命令 git add . 将所有改动都添加到暂存区(注意,关键字add后有一个小数点 . 作为参数,表示当前路径)。

6、执行命令 git am --resolved 继续 步骤1 中被中断的 patch 合入操作。合入完成后,会有提示信息输出。

7、执行命令 git log 确认合入状态。

至此,带有冲突代码的 patch 合入就操作完成了。如果要修改 commit 信息,执行 git commit --amend 命令即可。

相关文章

  • git am 冲突

    平时修改过的代码,我们会用patch文件保存改动。但是伴随着主线代码的不断更新,我们在早期保存出来的patch中有...

  • git am 手动解决冲突

    1.合入遇到冲突 $ git am 0001-net-dsa-mv88e6xxx-Fix-statistics-o...

  • Git 操作记录

    git commit -am "" 这里 -am 在初始化提交文件时不能这样用 git撤销操作 git comm...

  • rails-movie_review-copy-onebyone

    rails new movie_review git init git add . git commit -am"...

  • rails-movie_review-copy-onebyone

    rails new movie_review git initgit add .git commit -am"In...

  • git常见命令

    : git commit -am “”: add +commit 2: git rm —cache 1.java ...

  • git分支合并及切换

    git分支合并使用 git merge branchname 命令,若提示有冲突,先手动修改冲突后保存提交 git...

  • (二)

    转自:Android Studio、Git 解决合并冲突Android Studio、Git 解决合并冲突Andr...

  • git学习

    常用commit格式 git commit -am "xxx" GIT的配置文件 /etc/gitconfig ~...

  • git merge

    冲突状态放弃 merge git merge --abort 冲突的文件使用其它分支 git merge -Xth...

网友评论

      本文标题:git am 冲突

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