gpt4 book ai didi

git - 使用 'git worktree' 将 git 2.5 用于多个工作目录的工作流程

转载 作者:太空狗 更新时间:2023-10-29 14:05:51 25 4
gpt4 key购买 nike

作为 git 的新手,我想大致了解一下如何为一个 github 项目的不同分支使用多个工作目录。特别是我想要/需要在两个分支上工作——一个是“主”分支,另一个是维护版本,比如 maintenance/project1。计划是在 Linux/Mint 17.2 下运行这项工作。另外,我想利用 2.5 中引入的最新 git worktree 功能。

假设我有一个 github 帐户,已经从主项目中 fork 了我自己的 fork,并将 fork 克隆到我的本地机器上,在 ~/user/myproject 中。

就目前情况而言,我不希望通过 git push 贡献代码,我的所有工作和测试结果都将通过电子邮件传递给其他人以进行可能的修复 - 通过 git 完成可能会很好路,但没有必要开始。

我认为我需要一组相应的 git 命令的步骤是:

  • 创建两个工作树
  • 在这些树之间切换
  • 保持两棵树与上游主节点保持同步
  • 以这种方式工作的任何其他注意事项/特殊注意事项。

最佳答案

Creating the two work trees

  1. git 克隆 https://github.com/someone/someproject.git

    (这将在 master 分支上为您提供目录 someproject)

  2. cd someproject; git worktree 添加 ../someproject-devel devel

    (假设存在这样的分支,这将在 devel 分支上为您提供目录 someproject-devel)

Switching between these trees

只需使用cd命令即可。

Keeping both trees up-to-date with the upstream master

只需在适当的目录中cd 并运行git pull。首先在主工作树中执行此操作可能是最好的,但不是必需的(手册页没有具体解决这个问题,我也没有详细研究工作树的实现。如果存在问题,那只是最佳选择之一使用空间,而不是功能)。

any other cautions/ special considerations for working this way.

来自手册页:

   Multiple checkout in general is still experimental, and the support for
submodules is incomplete. It is NOT recommended to make multiple
checkouts of a superproject.

关于git - 使用 'git worktree' 将 git 2.5 用于多个工作目录的工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193360/

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