首页 >web前端 >css教程 >樱桃挑选git

樱桃挑选git

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-03-17 11:08:10876浏览

樱桃挑选git

本文继续我们的“高级git”系列。在Twitter上关注我们,或订阅我们的新闻通讯以获取有关未来文章的最新信息!

在上一期中,我们探讨了重新审查和合并。尽管巧妙不同,但git mergegit rebase都具有相同的基本目的:将一个分支的变化整合到另一个分支。

本文重点介绍了git cherry-pick ,这是一个强大的命令,可以选择将任何分支的个人提交的选择性集成到您当前的头部。这与git mergegit rebase形成鲜明对比,后者结合了来自源分支的所有新提交。

为什么选择性地应用单个提交?关键用例是纠正错误。想象一下意外地致力于错误的分支。 cherry-pick简化了修复程序:切换到正确的分支,然后将错误提交樱桃挑选。

高级GIT系列:

  • 第1部分:制定理想的吉特犯罪
  • 第2部分:有效的GIT分支策略
  • 第3部分:简化与拉请求的合作
  • 第4部分:解决合并冲突
  • 第5部分:重新进行与合并:比较
  • 第6部分:掌握互动式重新启动
  • 第7部分:挑选樱桃的命令(您在这里!
  • 第8部分:恢复反式倒流的损失承诺

注意:避免过度依赖cherry-pick 。通常优选由git mergegit rebase促进的分支级工作流程。 cherry-pick是特定情况下的宝贵工具,而不是替代标准合并或重新打击的替代品。

搬迁提交

考虑到这种情况:针对feature/newsletter分支机构错误地降落在master中的一项承诺。以下塔式屏幕截图(用于MacOS和Windows的GIT GUI)说明了这一点,突出显示了将26bf1b48错误放置在master中:

另外,命令行揭示了问题:

 $ git日志
提交26BF1B4808BA9783E4FABB19EC81E7A4C8160194(负责人 - > Master)
作者:TobiasGünther
日期:周五10月5日09:58:03 2018 0200

    新闻通讯注册页

提交26bf1b48属于feature/newsletter 。让我们用cherry-pick来移动它:

 $ git Checkout功能/新闻通讯
切换到分支“功能/新闻通讯”
$ git状态
关于分支功能/新闻通讯
没什么可承诺的,工作树很干净
$ git樱桃袋26BF1B48
[功能/新闻通讯7FB55D0]新闻通讯注册页面
 作者:TobiasGünther 
 日期:周五10月5日09:58:03 2018 0200
 1个文件更改,0插入(),0删除( - )
 创建模式100644 Inbimup.html

git log现在显示feature/newsletter中的提交:

 $ git日志
提交7FB55D06A8E70FDCE46921A8A3D3A9DE7F7FB8D7(头 - >功能/新闻通讯)
作者:TobiasGünther 
日期:周五10月5日09:58:03 2018 0200

    新闻通讯注册页

注意: cherry-pick创建了该提交的副本,使原始完整。

清理

“不正确”提交仍然存在于master中。 git reset将其删除:

 $ git Checkout Master
切换到分支“主”
$ git重置 -  hard头〜1
Head现在在776F8CA上更改标题和删除错误页面

GUI塔可视化整个过程。

专业工具,而不是日常驾驶员

尽可能优先mergerebase 。保留cherry-pick不适合的情况,特别适用于移动个人提交的情况。请记住, git cherry-pick重复作品;之后始终清理。

探索我免费的“高级GIT套件”,以深入研究GIT工具,包括分支策略,互动式折叠,逆转录子和子模型。

挑剔的樱桃快乐,并在下一个“高级git”期间见到您!

高级GIT系列:

  • 第1部分:制定理想的吉特犯罪
  • 第2部分:有效的GIT分支策略
  • 第3部分:简化与拉请求的合作
  • 第4部分:解决合并冲突
  • 第5部分:重新进行与合并:比较
  • 第6部分:掌握互动式重新启动
  • 第7部分:挑选樱桃的命令(您在这里!
  • 第8部分:恢复反式倒流的损失承诺

以上是樱桃挑选git的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn