当前位置:   article > 正文

以gitlab为例,git如何把自己的多个提交合并成一个(及注意事项)_git 合并两个提交为一个

git 合并两个提交为一个

有两处特别要注意的,都以红色标出。

  • 源码库

柳鲲鹏 / FreeType · GitLab

  • 本地查看提交日志
  1. $ git log --pretty=oneline
  2. 6a91471c40defbbf936d97ee7f844d8b884db11f (HEAD -> master, origin/master, origin/HEAD) Add a bridge macro for float
  3. a385220e59771406bd18daaa63d6849576768af9 Merge remote-tracking branch 'upstream/master'
  4. 57a419c42eb30a9c8e06e1151fe495cb5483d8f5 Remove float type, change to FT_Fixed
  5. 3ce73ca1fc7469e5f39ab21a262bfdafdf9e84b1 Werner Lemberg told me make sure use FT_EXPORT_DEF
  6. 2e669896610d3624502362fc5e9a6cb436792024 Werner Lemberg told me check white space formatting. I fixed it
  7. 5182264a40e70ff31be0a0ec8a0d5ffb5f65582e [cff] Remove `FT_CONFIG_OPTION_NO_GLYPH_NAMES`.
  8. 0d66abca4b0df394c1e423040bcb1bedcca878b9 Synchronize `ftoption.h` flavours.
  9. 141d979af74e09bd01f6956b5cc8dfa73047c779 Minor comment changes.
  10. c0b91c6a77f67258d56d153c03adfd4b43cb39dd Add a api, someone can oblique by any value
  11. 15f687349528fb0d7cba1ee7a8becf0af29116ec Improve FT_Get_Name_Index docs and place it next to FT_Get_Glyph_Name.
  12. 0417527d5b5abc3ee9426f31bd95209ca97502a5 [autofit] Reset the face charmap directly.
  13. 1b6dce84f946fd784bf0882c8f6e20dc04a3110a * src/type1/t1afm.c (T1_Read_PFM): Set charmaps directly.

其中,忽略2(合并操作),1/3/4/5/9是吾修改的,想合并到9。因为是跟别人合作的,所以不能使用HEAD~9。

  • 网页察看提交情况

  • 开始合并到最初的提交
git rebase -i 15f68734

注意,想合并到目标提交(ID=c0b91c6a),必须使用目标之前的那个提交(ID=15f68734)。

  • 弹出要合并提交的界面: 

  • 修改要合并的提交

注意,这里把几个无关的提交(别人的)删除了。

pick:使用提交

s(squash):使用提交,但融合到前一个提交

  • 一次wq

 

  • 修改注释

  • 二次wq
  1. $ git rebase -i 15f68734
  2. [detached HEAD 070ca99a6] Add a api and two macros, someone can oblique by any value
  3. Date: Mon Oct 10 10:57:10 2022 +0800
  4. 2 files changed, 30 insertions(+), 4 deletions(-)
  5. Successfully rebased and updated refs/heads/master.
  • 再次查看提交日志
  1. $ git log --pretty=oneline
  2. 070ca99a6c85ca3dd24bca44eed80ae4248ee7f2 (HEAD -> master) Add a api and two macros, someone can oblique by any value
  3. 15f687349528fb0d7cba1ee7a8becf0af29116ec Improve FT_Get_Name_Index docs and place it next to FT_Get_Glyph_Name.
  4. 0417527d5b5abc3ee9426f31bd95209ca97502a5 [autofit] Reset the face charmap directly.
  5. 1b6dce84f946fd784bf0882c8f6e20dc04a3110a * src/type1/t1afm.c (T1_Read_PFM): Set charmaps directly.

 可以看到完全达到了目标。

  • 提交修改到远程仓库
  1. $ git push -f
  2. warning: redirecting to https://gitlab.freedesktop.org/quantum6/freetype.git/
  3. Enumerating objects: 15, done.
  4. Counting objects: 100% (15/15), done.
  5. Delta compression using up to 8 threads
  6. Compressing objects: 100% (8/8), done.
  7. Writing objects: 100% (8/8), 1.22 KiB | 1.22 MiB/s, done.
  8. Total 8 (delta 6), reused 0 (delta 0), pack-reused 0
  9. To https://gitlab.freedesktop.org/quantum6/freetype
  10. + 6a91471c4...070ca99a6 master -> master (forced update)
  • 再次网页察看提交情况

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/806676
推荐阅读
相关标签
  

闽ICP备14008679号