如何合并两个分支,并自动忽略特定的文件/文件夹?

Rod*_*tou 6 version-control merge github node.js ionic-framework

我有一个MEAN堆栈项目分为两个分支:Ionic和Node.

Ionic branch拥有所有Ionic相关的文件/文件夹.front-end这里创建的是为移动设备网络设备提供服务.但是,此分支中的Web设备代码不会托管在任何地方.

Node branch已经server相关的文件/文件夹.此分支将上载以托管应用程序端点,并且需要提供公共前端文件夹.前端文件夹来自Ionic分支.

我已经读过这篇关于将提交拆分为单独提交的帖子,所以我们可以忽略其中一个提交.这并没有解决问题,因为我有很多文件和文件夹不应该合并,并且很难在每次合并中将它们全部分开.我只需front-end/public/www要将文件夹合并到Node分支中.

我也看过关于这个,这个,这个对堆栈和更大量的有关问题,并在互联网上的文章,但没有一个人能解决我的问题.

我们有一个Node和一个Ionic分支.Node分支只需要Ionic分支中的特定文件和文件夹.我们怎么做?

附录

分支节点示例:

¬ node_modules
¬ routes
¬ www
¬ files/etc
Run Code Online (Sandbox Code Playgroud)

离子节点示例:

¬ node_modules //this should not merge into Node
¬ hooks        //this should not merge into Node
¬ resources    //this should not merge into Node
¬ www          //MERGE THIS
¬ files/etc    //some should merge, some should not.
Run Code Online (Sandbox Code Playgroud)

edi*_*n-m 5

这是我的想法,所以这只是一个尝试的想法。
\n如果我理解正确的话你想选择性地合并ionicnode

\n\n
git checkout node\ngit checkout -b temp\ngit checkout -p ionic -- www\n# solve merge conflicts\n# git add or git add -p (interactive per diff adding)\ngit checkout -p ionic -- files/etc\n
Run Code Online (Sandbox Code Playgroud)\n\n

git checkout -pgit add -p应该为您提供添加和检查路径/文件/文件部分的交互式选项。

\n\n
\n

git checkout --帮助
\n -p\n --patch\n 交互式地选择(或索引,如果未指定)和工作树之间的差异部分。然后,所选择的块被反向应用到工作树(如果指定了 a,则为索引)。

\n\n

这意味着您可以使用 git checkout -p 有选择地放弃当前工作树中的编辑。请参阅 git-add(1) 的 \xe2\x80\x9cInteractive Mode\xe2\x80\x9d 部分,了解如何操作 --patch 模式。

\n
\n