git push 时冲突解决方法
本文最后更新于 876 天前,其中的信息可能已经有所发展或是发生改变,请谨慎参考。

一、冲突原因

1.1 多人同时修改同一文件

 liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git cherry-pick -n 4a7c5af22778e57440fdf09921b25e1a40a6d5e0
 ​
 error: 不能应用 4a7c5af... Product:SQ45S
 提示:冲突解决完毕后,用 'git add <路径>' 或 'git rm <路径>'
 提示:命令标记修正后的文件
 ​
 liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git status
 位于分支 Pie_SQ45S_Release
 您的分支与上游分支 'origin/Pie_SQ45S_Release' 一致。
 未合并的路径:
   (使用 "git reset HEAD <文件>..." 以取消暂存)
   (使用 "git add <文件>..." 标记解决方案)
 ​
  双方修改:   build/buildprop.mk
 ​
 尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

1.2 缺少change-id

 liaochongrong@urovo002-07:/home/ssd7/lcr_work/SQ45S$ git push origin HEAD:refs/for/Pie_SQ45S_Release
 对象计数中: 4, 完成.
 Delta compression using up to 64 threads.
 压缩对象中: 100% (4/4), 完成.
 写入对象中: 100% (4/4), 656 bytes | 0 bytes/s, 完成.
 Total 4 (delta 3), reused 0 (delta 0)
 remote: Resolving deltas: 100% (3/3)
 remote: Counting objects: 4, done
 remote: Processing changes: refs: 1, done    
 remote: ERROR: [19bc4b1] missing Change-Id in commit message footer
 remote:
 remote: Hint: To automatically insert Change-Id, install the hook:
 remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 liaochongrong@192.168.8.215:hooks/commit-msg ${gitdir}/hooks/
 remote: And then amend the commit:
 remote:   git commit --amend
 remote:
 To ssh://192.168.8.215:29418/NoUcode/SQ45S
  ! [remote rejected] HEAD -> refs/for/Pie_SQ45S_Release ([19bc4b1] missing Change-Id in commit message footer)
 error: 无法推送一些引用到 'ssh://192.168.8.215:29418/NoUcode/SQ45S'
差异

二、解决方案

2.1 多人修改

  • 通过 git status命令找到双方共同修改的文件,然后编辑文件,把多余的代码去掉即可。
  • 可通过 git diff 文件目录来查看显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别
差异
  • 如图,删除标识代码,此冲突即可解决。

2.2 缺少change-id

  • 其实这个冲突的解决方法,git已经提示过我们了。就是这一段
 remote: Hint: To automatically insert Change-Id, install the hook:
 remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 liaochongrong@192.168.8.215:hooks/commit-msg ${gitdir}/hooks/
 remote: And then amend the commit:
 remote:   git commit --amend
  • 所以我们只需要执行 gitdir=$(git rev-parse --git-dir); scp -p -P 29418 liaochongrong@192.168.8.215:hooks/commit-msg ${gitdir}/hooks/以及 git commit --amend这两行命令即可。
  • 当然如果不放心还可以reset 已有的提交:git reset --soft 3bf39e60e2cad62f3ada0414f3cef64f386ccce3,最后那一串为 commit id,reset完了之后,再重新进行提交操作。操作完成后即可看到change-id已经生成了。
您当前正在 - https://icu007.work/archives/241 .页面,阅读由“Rookie_L” 撰写的《git push 时冲突解决方法》
非常感谢您对我们的网站感兴趣并访问。在您使用本网站之前,请您仔细阅读本声明的所有条款。

版权声明:
1、本博客属个人所有,不涉及商业目的;
2、本博客内容均为本人编写,图片版权属于原作者,图片仅供大家欣赏和分享,切勿做为商业目的使用。如果侵害了您的合法权益,请您及时与我联系,我会在第一时间删除相关内容;
3、本博客所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。非经允许,不得用于盈利目的;
4、本博客受中国知识产权、互联网法规和知识共享条例保护和保障,任何人不得进行旨在破坏或牟取私利的行为;
5、做新时代合格网民,弘扬互联网精神:开放、平等、 协作 、分享;共同构建文明、清朗的网络环境;
6、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准;
7、当您阅读到这里的时候,即表明已阅读并接受了上述各项条款。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇