标签: git-subtree

为什么“git-subtree”从 git-scm 书中删除了?

在我的搜索引擎上查找文档时git-subtree将显示https://git-scm.com/docs/git-subtree的链接,但是当我访问该链接时,我会被重定向到https://git-scm.com/docs

子树发生了什么?是已弃用还是这只是一个错误?如果它被弃用,是否有一个带有理由的公告以及可能取代它的建议(例如是否有计划引入git-subrepo)?

git git-subtree

3
推荐指数
1
解决办法
912
查看次数

Git Subtrees与作曲家

这可能是一个非常天真的问题,但我试图理解Git的Subtree和PHP的Composer依赖管理之间的效用差异.在转储Git子模块后我开始使用Git Subtrees.但现在有Composer(用于PHP).由于我的大部分项目都是基于PHP的,我正在考虑转储Subtrees以支持Composer.

例如,我有多个Wordpress站点.我想拉Wordpress本身和我想要使用的插件.我可以用Git Subtrees和Composer实现这一点,对吗?

如果我没有用例在上游子文件夹中提交/推送代码,但只希望将最新/特定版本提取到子文件夹中,那么Subtree和Composer是否提供相同类型的实用程序?

在我的用例中,我觉得Composer胜过Git Subtree更容易使用,更容易在子文件夹中获得另一个/更新版本的脚本,而不会将这些拉出的子文件夹文件提交到Git repo中.

对我的这种理解的任何想法?这种策略有问题吗?或者两者完全不同,没有任何相似之处?

php wordpress git-subtree composer-php

2
推荐指数
1
解决办法
770
查看次数

“ git subtree pull”和“ git pull -s subtree”和有什么不一样

我们遇到了以下命令的问题:

git subtree pull --prefix=Root squash root master
Run Code Online (Sandbox Code Playgroud)

正在将代码从根存储库中拉入。目录而不是Root目录。

该命令在过去运行良好。唯一的区别是,自从完成拉动以来已经有一段时间了,因此有很多要合并的更改。

我似乎找不到关于“ git subtree”的任何正式文档,但是与“ git pull -s subtree”一起使用的子树合并策略有很多。有什么区别(如果有)?

git git-subtree

2
推荐指数
1
解决办法
2984
查看次数

Git 删除子树或更改子树的目录

我正在尝试通过执行与我的子树的更新同步

git pull -s subtree react master

但是整个存储库被复制到错误的文件夹中,而不是我在添加新存储库作为子树时提到的文件夹。

如何删除子树或更改子树的目录?

git android git-subtree

2
推荐指数
1
解决办法
2027
查看次数

首先出现的是:git子树合并策略还是git子模块?

更重要的是新的发明 - 蹦子树合并策略(不是新的git-子树命令)或git的子模块的命令(或者潜在的机制,如果有一个单独的一个对称的Git树指令相对于合并策略).

Git发行版中首先包含哪些内容?

链接到相关Git ML帖子的奖励积分.

我试过从Git提交历史中挖掘这些信息,但是在2007-2008两个功能中都丢失了.

git history git-submodules git-subtree

1
推荐指数
1
解决办法
410
查看次数

git split repo但具有相同的commit-id

我有一个很大的git repo,我想把它分成2.我能够使用"git filter-branch"或"git subtree split"来完成这个,但是这两种方法都创建了全新的commits-id(SHA).我知道我们正在重写历史,它会改变commit-id.

但是,即使在拆分回购后,我的要求也需要具有相同的commit-id.可能吗?

例:

有下面提交的git repo foo-bar.git

*foo-bar.git*
1fd3dsg refs #1 change-1 to foo
4sad2as refs #2 change-1 to bar
3edsads refs #3 change-2 to foo
5adsggh refs #4 change-2 to bar
Run Code Online (Sandbox Code Playgroud)

现在我们将repo foo-bar.git拆分为foo.git和bar.git.现在foo.git将获得为foo和bar.git做的所有提交将获得为bar提交的所有提交,但是他们的commit-id已经改变.

我得到了什么:

*foo.git*
s43dfsa refs #1 change-1 to foo
a234s2f refs #3 change-2 to foo

*bar.git*
1s3ds3q refs #2 change-1 to bar
3re2ef2s refs #4 change-2 to bar
Run Code Online (Sandbox Code Playgroud)

我期待的是什么.

*foo.git*
1fd3dsg refs #1 change-1 to foo
3edsads refs #3 change-2 to foo

*bar.git*
4sad2as …
Run Code Online (Sandbox Code Playgroud)

git git-filter-branch git-subtree

0
推荐指数
1
解决办法
80
查看次数