草庐IT

git 子模块、gitslave、git 子树或更简单的解决方案

我们有一个包含N个文件夹的git存储库。Repo|-Folder1|-Folder2|-...|-FolderN我们希望与不同的合作者共享不同的文件夹。每个协作者都应该只能访问他允许的文件夹子集。使用git实现此目的的“好”方法是什么?答案是使用gitsubmodules。但是看完这篇文章后:https://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/我了解到您需要精通git(我们的合作者并非如此),以便在使用git子模块时不会出现问题。我阅读了一些可能

git - git svn 与 git 子树兼容吗?

现在gitsubtree已经merge到核心git发行版中(从1.8.0开始它也在Msysgit上),有人知道gitsvn是否与gitsubtree一起工作吗?注意:我说的不是子树merge策略,而是this.Gitsubmodulescannotbeuseddirectlywhenyouareusinggitsvn.相反,它需要anotherlevelofindirection.另外git子树工作流程是moreconvenientwhenyou'retrackingthirdpartyrespositories,这也是您使用svn时发生的事情。我的问题是,当与gitsvn一起使用时,

git - git svn 与 git 子树兼容吗?

现在gitsubtree已经merge到核心git发行版中(从1.8.0开始它也在Msysgit上),有人知道gitsvn是否与gitsubtree一起工作吗?注意:我说的不是子树merge策略,而是this.Gitsubmodulescannotbeuseddirectlywhenyouareusinggitsvn.相反,它需要anotherlevelofindirection.另外git子树工作流程是moreconvenientwhenyou'retrackingthirdpartyrespositories,这也是您使用svn时发生的事情。我的问题是,当与gitsvn一起使用时,

git 子树推送和拆分添加 "-n<newline>"以提交消息

每当我通过gitsubtreesplit将一个子目录拆分为一个分支或(因此?)当我将一个子树向上游推送时,新分支/上游提交中的提交消息有“-n”和在它们前面加上一个换行符。用split来演示最简单:gitinitrepocdrepomkdirsplitmetouchsplitme/foogitaddsplitme/gitcommit-m'Addfoo'gitsubtreesplit-Psplitme-bsplitme-only由此,我得到:$gitlogmastercommit6d5164076bd88d1dab8963d91ec013372e58a444Author:meDate:F

git 子树推送和拆分添加 "-n<newline>"以提交消息

每当我通过gitsubtreesplit将一个子目录拆分为一个分支或(因此?)当我将一个子树向上游推送时,新分支/上游提交中的提交消息有“-n”和在它们前面加上一个换行符。用split来演示最简单:gitinitrepocdrepomkdirsplitmetouchsplitme/foogitaddsplitme/gitcommit-m'Addfoo'gitsubtreesplit-Psplitme-bsplitme-only由此,我得到:$gitlogmastercommit6d5164076bd88d1dab8963d91ec013372e58a444Author:meDate:F

git:将子树从一个分支 merge 到另一个分支

我在将开发分支的子树merge回集成分支时遇到问题。我有两个分支,一个用于开发,一个用于集成。在开发分支中进行了广泛的开发,我想将其中的一部分merge回去。我要merge的特定部分都包含在开发分支的一个子树中。我的目录结构是这样的:[BranchA][BranchB]||+--Dir1+--Dir1+--Dir2+--Dir2|||+--DirA|+--DirA|||+--File1|+--File1+--File2|+--File2|+--File3|+--File4+--Dir3我想将BranchB/Dir2/DirAmerge到BranchA/Dir2/DirA。我希望merg

git:将子树从一个分支 merge 到另一个分支

我在将开发分支的子树merge回集成分支时遇到问题。我有两个分支,一个用于开发,一个用于集成。在开发分支中进行了广泛的开发,我想将其中的一部分merge回去。我要merge的特定部分都包含在开发分支的一个子树中。我的目录结构是这样的:[BranchA][BranchB]||+--Dir1+--Dir1+--Dir2+--Dir2|||+--DirA|+--DirA|||+--File1|+--File1+--File2|+--File2|+--File3|+--File4+--Dir3我想将BranchB/Dir2/DirAmerge到BranchA/Dir2/DirA。我希望merg

git - 使用分支增量提取子树

我正在使用git-subtree从我的项目中提取一个目录。gitsubtreesplit--prefix=src/SubProject--branch=SubProjectorigin/master鉴于这是我想开始项目的方式(特别是没有--rejoin),我如何才能只拆分从origin/master到SubProject连续运行?对于较小的项目,这一直运行良好。我可以忍受大约5秒的时间来拆分项目。但是在较大的存储库上,这可能需要相当长的时间。我看到每次拆分最多需要五分钟。我想合作的一些项目在一个存储库中有超过45个子项目。我已经尝试了很多我认为可能有效的方法,但每一个都以这样或那样的方

git - 使用分支增量提取子树

我正在使用git-subtree从我的项目中提取一个目录。gitsubtreesplit--prefix=src/SubProject--branch=SubProjectorigin/master鉴于这是我想开始项目的方式(特别是没有--rejoin),我如何才能只拆分从origin/master到SubProject连续运行?对于较小的项目,这一直运行良好。我可以忍受大约5秒的时间来拆分项目。但是在较大的存储库上,这可能需要相当长的时间。我看到每次拆分最多需要五分钟。我想合作的一些项目在一个存储库中有超过45个子项目。我已经尝试了很多我认为可能有效的方法,但每一个都以这样或那样的方

git - 重置 git 子树中的差异计数

使用git-subtree,在运行gitsubtreesplit时要计算的差异数量会随着时间的推移而增加,达到可能导致拆分花费很长时间的值。解决这个问题的一种方法是gitrm路径,提交它,然后gitsubtreeadd它回来。是否有更简单/更清晰的重置子树的方法? 最佳答案 在进行拆分时,可以使用--rejoin选项,它的存在似乎正是为了重用已经发生的拆分。--rejoin::Thisoptionisonlyvalidforthesplitcommand.Aftersplitting,mergethenewlycreatedsynt