每个分支上具有不同文件树的Git工作流
我有一些git回购,其中分支没有相同的文件树。例如:每个分支上具有不同文件树的Git工作流,git,merge,workflow,Git,Merge,Workflow,我有一些git回购,其中分支没有相同的文件树。例如: 开发分支:根目录上的src和dist文件夹 活动分支:根目录上的dist内容 目前,我找到的“最佳”工作流是(当我想将开发分支“合并”到live分支时): git实时签出(来自开发人员) git签出开发区/ git复位头* 复制/粘贴根目录上dist文件夹的内容并将其删除 git添加和提交 由于我不是git专家,我想知道是否有最好的方法来做到这一点 提前感谢您的回答:)您可以单独跟踪dist文件夹。与开发分支不同的是,您将有一个包含它
- 开发分支:根目录上的src和dist文件夹
- 活动分支:根目录上的dist内容
- git实时签出(来自开发人员)
- git签出开发区/
- git复位头*
- 复制/粘贴根目录上dist文件夹的内容并将其删除
- git添加和提交
提前感谢您的回答:)您可以单独跟踪dist文件夹。与开发分支不同的是,您将有一个包含它的不同的repo,在live上,您只需要查看dist repo。从“复制/粘贴根目录上dist文件夹的内容并删除它”中,我推测您不是在合并双方的更改,而是简单地更新到新版本。如果这是正确的
git checkout live
git read-tree -um HEAD: dev:dist # fast-forward current tree to dev's dist
git rev-parse dev >.git/MERGE_HEAD # tell porcelain this is a merge
git commit # record it
我会的。生成从第一个到第二个的快进合并,-u
表示使用结果更新工作树。您将从签出树转到dev
分支的当前dist
树,这是从dev
合并的正确结果,因此将其记录为合并是正确的
但由于你是快进的,结果将是新的树。这是一个以前被问过很多次的问题。我承认我最喜欢我的答案:
git commit-tree -p gh-pages -p master -m "" master:html \
| xargs git update-ref refs/heads/gh-pages
(根据口味更新名称),它只是直接执行需要执行的操作。谢谢,我将查看git子模块。但我想我更愿意让我所有的分支机构都在同一个回购协议上,否则我的回购协议数量会翻倍…我看了git子模块,但我不确定是否理解你的建议?因为如果我理解得很好,我将有一个dist repo和一个dev repo(而不是分支)。在dev repo中,我将dist repo作为子模块包含在dist文件夹中?如果我这样做,我如何跟踪我在开发报告和地区报告方面的工作?可能重复的