(git):如何从上游分支带来特定的提交?

发布于 2024-08-22 06:16:37 字数 481 浏览 8 评论 0原文

我有这个(git repo):

A--B--C--D ->master
   \--E    ->dev

我只想将提交 D 提交到分支 devD 不依赖于 C),这样:

A--B--C--D  ->master
   \--E--D' ->dev

但是 D' 不应该在合并后添加到 master 中:

A--B--C--D--E' ->master
   \--E--D'/   ->dev

这是因为我只想带来文件更新,而不必用新文件污染 dev C(代表另一个大合并)添加了。
我猜我需要使用 git rebase,但我不知道如何使用。

I have this (git repo):

A--B--C--D ->master
   \--E    ->dev

And I want to bring only commit D to branch dev (D doesn't depend on C), so that:

A--B--C--D  ->master
   \--E--D' ->dev

But D' shouldn't get added to master after a merge:

A--B--C--D--E' ->master
   \--E--D'/   ->dev

This is because I want to bring only a file update without having to pollute dev with new files that C (which represents another, big merge) adds.
I'm guessing I need to use git rebase, but I can't guess how.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

江湖彼岸 2024-08-29 06:16:37

您想使用 gitcherry-pick。我假设您的遥控器名为“origin”(但将远程存储库的真实名称替换为“origin”)。我假设您有两个本地分支,也分别名为 masterdev。我假设提交 D 位于 origin/dev 上。您可以使用以下命令挑选 D:

$ git fetch origin             # Assuming the upstream remote's name is "origin"
$ git checkout dev             # Check out your local "dev" branch
$ git cherry-pick $COMMIT_D    # Replace "COMMIT_D" with the hash for commit D

现在您将仅拥有 dev 中提交 D 的更改。

You want to use git cherry-pick. I'll assume your remote is named "origin" (but substitute the real name of the remote repo for "origin"). I'll assume you have two local branches also named master and dev. I'll assume commit D is on origin/dev. You can cherry-pick D with the following:

$ git fetch origin             # Assuming the upstream remote's name is "origin"
$ git checkout dev             # Check out your local "dev" branch
$ git cherry-pick $COMMIT_D    # Replace "COMMIT_D" with the hash for commit D

Now you'll only have the changes from commit D in dev.

蹲在坟头点根烟 2024-08-29 06:16:37

使用命令 gitcherry-pick

Use the command git cherry-pick.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文