问题标签 [git-subtree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何解决“git subtree split”在还原提交时失败的问题?
我遇到了这个邮件列表帖子中描述的问题。当还原提交后跟合并提交时,“git subtree split”无法重建历史记录。我稍微调整了 Fabien 在他的邮件列表帖子中提供的测试脚本:
我发现如果还原提交之后是另一个在子树目录中进行更改的提交,则拆分将按预期工作(请参阅上面的“第四版”)。这看起来像 git-subtree 中的错误。
但是,就我而言,当然已经执行了合并,因此我无法通过添加虚拟提交来解决问题。有没有其他方法可以解决这个问题?也许是 git-subtree 源代码的快速修复补丁?
git - git subtree:可以更改分叉存储库中的子树分支/路径吗?
在存储库A
中,该文件夹sub
作为存储库的 git 子树包含S
- 指向master
分支。
我已经将存储库分叉A
到F
. 现在我想做以下其中一项F
:
- 更改
sub
为使用不同的分支S
(即develop
分支) - 或:更改
sub
为完全使用不同的存储库
其中任何一种都可能吗?如果可以,怎么做?我应该知道有什么副作用吗?
A
当我合并我的更改(拉取请求)时,如何确保我的子树更改不会在存储库中更新?我的意思是除了隔离提交。
git - 如何使用管道命令执行子树合并?
我想将子树合并合并到常规(非合并)提交中。我目前通过首先执行子树合并来做到这一点,然后通过常规更改对其进行修改。
是否可以仅使用管道命令执行此操作?在 生成的提交中git merge
,我看不到这是子树合并提交的迹象。当我$subtree_parent
作为第二个父级传递给git commit-tree
时,生成的提交无法包含$subtree_parent
.
PS。是否有反对将更改添加到与合并无关的合并提交?
编辑我想我现在明白了。是否只是合并提交的树确定了子树的合并方式?这意味着树的子树等于第二个父级的顶部树。
git - 忘记使用 `--squash`,现在提交历史一团糟。我该如何收拾这个烂摊子?
我应该为subtree pull --squash
我的项目所依赖的第三方模块执行,但我不小心忘记了将--squash
. 现在我的项目提交历史充斥着第三方模块提交。它们散布在原木上。
这个烂摊子必须消失。如果可能的话,我将如何识别属于第三方模块的所有提交,将它们压缩为一个,然后从我的项目历史记录中清除它们?
更多信息:
请注意,在操作中断后,我已经完成了几次提交,我打算保留这些提交。
git - 拆分一个 git 存储库以同时处理两个项目
我正在开发一个用于我的项目的框架;然而,框架的开发可以在没有上下文的情况下进行:即我需要在实际项目中开始使用它,并具体查看我需要添加、修复或调整的内容(也许在测试环境中有效的东西没有'不适用于现实情况,或者有些事情没有意义,或者我想添加功能)。
首先,由于Framework显然是一个正在进行的工作,我需要确保它在Real-life 项目中作为它的不同部分保持更新,所以我可以回到 Framework,编辑它,提交,返回到现实生活中的项目更新框架内,继续使用项目。
其次,我实际上想要一种无需进行项目切换即可实现此目的的方法。我的意思是我希望能够在现实项目中编辑框架并将这些提交推送到框架存储库。
现在,我知道实现这一目标的工具很可能是git submodule
和git subtree
,但它们都非常令人困惑。尤其是子模块,它似乎更倾向于只读方法(例如,始终更新您的库):这将满足我的第一个要求,但不能满足第二个要求。
关于如何使用 Git 实现这一点以及工作流程如何的任何指示?
git - 授予对 github 上单个文件的访问权限
我只是在寻找一种可能性,可以授予另一位开发人员访问我的 git 存储库中的一个文件的权限。除了子模块/子树还有什么办法吗?
它只是应该由其他人翻译的本地化文件。
期待您的回复!
谢谢!
塞巴斯蒂安
git - Git - 将 dist 文件夹部署到不同的远程
我正在尝试找出一种dist
使用 Git 将文件夹部署到不同远程仓库的方法。
工作项目存储在一个app
文件夹中。我使用 grunt 优化工作项目并将其编译到一个dist
文件夹中。我想知道是否有一种方法可以比使用 git 仅将dist
文件夹推送到与项目其余部分使用的源不同的远程。
显然,我只需要 dist 文件夹即可上线。不是整个项目。
我尝试研究 Git Subtree - 但我不确定我是否理解这个概念,或者我是否可以使用它来完成我正在尝试做的事情。
任何建议都会非常有帮助!
提前致谢!
富有的
git - 如何使用 git subtree 包含另一个 git 存储库的一部分并双向合并更新
我在下面显示了两个 git 存储库。第一个结构类似于典型的 python 项目。
我想将foo_repo/foo/
目录bar/
作为子树包含在内,并且我希望能够将更新foo_repo/foo/some_code.py
从 foo_repo 存储库合并到 bar,反之亦然。
初始设置还不错。从foo/
我使用的目录:
然后我在 foo_repo 中有一个新分支,其中只有foo_repo/foo/
目录的内容。要将它带入 bar,我只需转到bar/
目录并:
现在我已经准备好了,我想做一些代码开发并foo/
在两个 repos 中保持最新。从酒吧推我想我已经想通了。从bar/
目录:
然后从foo_repo/
目录:
合并另一种方式是我卡住的地方。来自foo_repo/
:
其中是将目录与分支???
合并的命令。然后从:foo/
export
bar/
所以我基本上是在寻找???
现场的线路,或者做同样事情的不同工作流程。我试过重复git subtree --prefix=foo/ split -b export_foo
这不起作用。
git - Git:将项目的一部分包含到另一个项目中
我有一个非常困难的情况:在一个项目(git repo)中我有一个文件,我在另一个项目(另一个 git repo)中需要它。是否有任何清晰且(尽可能)简单的方法将其放入我的项目中?它看起来像:
我的问题是: 1. 我该怎么做?2.如何将文件(包括来自 git-repo-1)更新到我的 repo(git-repo-2)中?
ps 是的,我看了很多关于子树的页面,但是……对我来说仍然不是很清楚。有什么建议么?甚至指导 ;-) 我会很感激任何事情。
UPD:我想要什么:http://git-scm.com/book/en/Git-Tools-Subtree-Merging但是!我只想将“机架”存储库的一部分放入我的项目存储库中。
问题是:如何将我需要的文件从一个存储库中拆分出来并将其合并到另一个存储库中?