jjzjj

git subtree 将更改推回子树项目

下面的简短内容:我想将提交消息推送到子树,但只推送适用于该树的消息。我该怎么做?我有两个项目,Master和Slave。Slave作为Master的子树checkout到lib/slave通过gitsubtreemerge--prefix=lib/slave--squashprojects/slave其中projects/slave是Slavecheckout到的分支:分支机构:大师项目/奴隶→奴隶现在我正在我的master分支上工作,提交属于两个项目的文件,一切进展顺利。现在我想将更改推送回Slave:gitcheckout奴隶gitmerge???硕士如果我进行正常merge,每次

git - 如何获得 git 子树差异?

我有一个仓库,它挂载了另一个仓库gitsubtreeadd-Psome/pathotherremoteotherbranch随着一些本地更改的进行,开发继续进行,但也进行了几轮merge:gitfetchotherremotegitsubtreemerge-Psome/pathotherremote/otherbranchgitcommit现在我想比较otherremote/otherbranch的HEAD和some/path的树。我该怎么做? 最佳答案 这应该是您要查找的内容:gitdiffotherremote/otherbra

git - 为什么 Git 子树总是处理每个提交?

我正在使用Gitsubtree在项目之间共享我的源代码的子文件夹。这工作正常,但每次我执行git子树推送时,终端都会显示不断增长的提交列表:gitsubtreepush--prefix=public/js/engineengine-remotemaster--squashgitpushusing:engine-remotemaster-n1/1193(0)-n2/1193(1)-n3/1193(2)...-n1193/1193(1152)Countingobjects:176,done....这是为什么?我可以配置不同的东西来防止这种情况发生吗?我知道它需要检查父项目的提交,但我希望它

git - 如何删除以前添加的 git 子树及其历史记录

许多个月前,我在我的git存储库中添加了一个子树。这个子树包括几个文件夹和文件。我添加了子树而不是创建子模块(如推荐的那样)。现在我意识到我只想要子树中的一个文件,其余的都不想要。更糟糕的是,当其他人克隆我的存储库时,他们得到的不是预期的——与子树和我创建的其他代码有一些冲突。我可以通过获取文件/文件夹gitrmsubtree–folder1subtree_folder2subtree_files.*但是,我仍然留下了来自子树的冗长提交历史记录。自从我最初添加子树以来,我已经做了相当多的开发,并且不能丢失我生成的提交历史。简而言之,这就是我想要的:删除所有子树文件/文件夹。忘记所有子树

git - 将 Git 子模块转换为子树

如何将git子模块(本地文件系统中的文件夹作为远程文件夹)转换为git子树,最好保留子模块的提交历史记录? 最佳答案 以下bash脚本基于AlexanderMikhailian的帖子(http://mikhailian.mova.org/node/233)。我稍微修改了它以调用subtreeadd而不是read-tree。它将从.gitmodule中获取子模块列表,并提取模块的前缀、名称和url。然后它删除每个子模块并将它们作为子树添加回同一位置。它还将每个子模块的远程添加为远程,因此您可以稍后通过提供其名称而不是其url来更新子树

Git 子树 : Use only subrepository instead of whole repository

我有一个项目使用了一些第3方库。所以目录结构是这样的:MY_COOL_PROJECT3rdPartyLIB_1LIB_2SourceMY_PROJECT这些库位于单独的存储库中。所以,如果我想为第3方库使用git存储库,我可以这样做:gitsubtreeadd--prefix3rdParty/LIB_1--squashhttp://My3rdPartyLibs.com/lib1.gitmaster但是,在lib1.git存储库中,我只需要一个bin文件夹。它还包含文档、示例等文件夹。如何只将我的存储库“连接”到lib1/bin文件夹而不是整个存储库?这可能吗?

git-subtree 不保留历史记录,因此我无法推送子树更改,我将来如何解决/避免此问题?

我一直在使用git-subtree扩展(https://github.com/apenwarr/git-subtree)来管理我们主项目中的子项目。除了当我尝试从我们的主项目中分离出对子项目所做的更改时它失败的事实之外,它正在做我想要的。例如早些时候我做过gitsubtreeadd-PSome/Sub/Dir--squashgit@gitserver:lib.gitmaster将库代码引入到我们主项目中的Some/Sub/Dir中。这里的一切都很顺利,所以我将我的更改推送到我们的中心主项目裸git存储库。然后我决定在Some/Sub/Dir中对我的本地版本的lib进行更改,提交它,然后

git - 如何减少推送子树的时间不断增加?

我正在使用Gitsubtree将几个子项目“链接”到主项目中(我来自“svn:externals”)。我已经使用它几个星期了,但是每次提交都会增加将更改推送到远程子树的时间。$gitsubtreepush-Pplatform/rtosrtosmastergitpushusing:rtosmaster1/215(0)2/215(1)3/215(2)4/215(3)5/215(4)6/215(5)7/215(6)8/215(7)9/215(8)10/215(9)11/215(9)12/215(10)13/215(11)14/...20morelines...(204)209/215(205

git - 将 Git 子模块转换为子树后 merge 错误

我有一个项目,我最初使用子模块来处理一些相关代码。事实证明,子模块并不真正适合这个项目(而且它们在实践中很难使用),所以我将每个子模块转换为一个子树(使用新的git-subtree特性)。在我的工作存储库中,我已成功删除每个子模块并将旧的子模块存储库添加为子树。没问题。当我转到另一个克隆并尝试从第一个克隆中pull时,我在merge步骤中收到以下错误:error:Thefollowinguntrackedworkingtreefileswouldbeoverwrittenbymerge:sub/.gitignoresub/Makefilesub/READMEsub/src/main.c

git - merge 子树更改 - 致命 : invalid path 'somefile_BASE_20704.cs'

我有三个存储库-为清楚起见更改了名称:SharedStuff,ProjectA和ProjectB这两个项目都使用git-subtree来维护SharedStuff的本地副本.他们都进行了本地更改,我正在尝试集中merge、测试,然后再次merge回每个更改。我在ProjectA存储库上运行了这个:gitsubtreesplit--prefix=SharedStuff-bSharedStuff_from_ProjectA--rejoin...然后将其推送到SharedStuffrepo,解决了一些简单的冲突,将其merge。现在我已经在ProjectB存储库上运行了它:gitsubtre