Git 在两个分支之间同步文件夹
我已经创建了一个GitHub javascript项目,在源代码具有适当的形状之后,我随后也为该项目创建了GitHub页面。这就在myGit 在两个分支之间同步文件夹,git,github,Git,Github,我已经创建了一个GitHub javascript项目,在源代码具有适当的形状之后,我随后也为该项目创建了GitHub页面。这就在mymaster分支旁创建了一个新的gh pages分支,其中将包含这些页面的内容 现在,我想在这些页面中显示我的项目作为演示。我已经创建了源代码相关部分的副本,但我发现每次进行更改时,我都需要在两侧进行更改(master和gh pages),或者更糟糕的是:合并更改,忽略大多数不相关的提交(例如,单元测试) 我曾将子树视为跨多个存储库保持更改同步的一种方法,但我不完
master
分支旁创建了一个新的gh pages
分支,其中将包含这些页面的内容
现在,我想在这些页面中显示我的项目作为演示。我已经创建了源代码相关部分的副本,但我发现每次进行更改时,我都需要在两侧进行更改(master
和gh pages
),或者更糟糕的是:合并更改,忽略大多数不相关的提交(例如,单元测试)
我曾将子树视为跨多个存储库保持更改同步的一种方法,但我不完全理解它是否适用于我的案例以及如何应用
如何实现跨两个分支同步单个文件夹?
谢谢 您可以签出特定分支中的特定文件或文件夹,也可以这样提交
//current branch: gh-pages
git checkout master yourfolder/
这将签出要从主分支同步到gh页面的特定文件夹
现在,您可以只提交该特定文件夹中的更改。如果您不想签出gh pages分支(例如,避免隐藏),您可以
我不知道这些命令。如果我理解正确的话,您在这里所做的是将当前头部向上移动到gh页面,然后提交整个树。这应该将当前头向上移动到当前分支的最后一次提交,对吗?如果我弄错了,请告诉我。如果没有,那么如果发生冲突会发生什么?这些命令是如何处理整个树而不是单个变更集的提交的?这些命令的级别低于提交--提交作为基于write tree、commit tree和update-ref的脚本启动。但是html目录的树已经在存储库中。如果您对此感兴趣,我推荐gitcore-tutorial。谢谢!我已经试过了,效果很好。如果将共享部分隔离到特定路径中,则更容易实现,以避免从一个分支合并到另一个分支。通过这种方式,我将我的演示和HTML保存在
gh页面上
以及master
分支中的源代码和测试中,并且我只需要同步一个公共部分。
git commit-tree -p gh-pages -m "" master:html \
| xargs git update-ref refs/heads/gh-pages