gpt4 book ai didi

Git 在不切换的情况下 pull 非工作分支

转载 作者:太空狗 更新时间:2023-10-29 13:03:31 25 4
gpt4 key购买 nike

我们有一个开发分支,它是我们的主分支和一个单独的维护分支。当我修复 bug 时,我经常不得不从 master 到维护中挑选提交,反之亦然。通常我通过执行以下过程来完成此操作...

  1. 提交主分支
  2. 推送提交到远程
  3. 切换/checkout 到维护分支
  4. 从第 1 步中挑选提交
  5. 构建并确保一切仍按预期工作
  6. 将维护提交推送到远程

我遇到的问题是因为分支变得明显不同,每次切换时我都必须重新构建整个项目,这最多需要 10 分钟。这是预期的,但我不想这样做,因为我经常在分支之间切换。因此,为了避免这种情况,我创建了第二个工作目录,以便每个分支都有一个目录。这样做的问题是,在我从远程将该提交 pull 入维护目录的主分支之前,我无法将原始主提交挑选到维护目录中。当然,当我这样做时,我必须完全重建。

有没有办法在不切换的情况下将提交 pull 入我的维护目录的主分支?或者,是否有更好的方法来完全做到这一点?我们最近从 CVS 切换到 Git,所以我对它不是很熟悉。

最佳答案

您只需运行 fetch(在其他存储库中)即可将新提交下载到其他存储库中:

git fetch origin

但是fetch只会更新远程跟踪分支,不会更新本地分支,所以master不会动,但是origin/master将要。所以你可以挑选最新的提交:

git cherry-pick origin/master

(据我所知,除了当前 checkout 的分支之外,没有其他优雅的方法可以在另一个分支上创建新的提交,所以我认为如果您不想切换分支,则需要坚持使用这两个存储库. 听起来你无论如何都需要它来测试你在另一个分支上所做的更改?)

关于Git 在不切换的情况下 pull 非工作分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34424543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com