GWo*_*ing 5 git git-checkout git-tag git-subtree git-branch
我有一个带有纱线工作区(和lerna)的monorepo
-package
--one
--two
-site
Run Code Online (Sandbox Code Playgroud)
一个脚本将它们中的每一个(一、二和站点)推送到它们的 github 存储库
我用类似的东西来做这个
-package
--one
--two
-site
Run Code Online (Sandbox Code Playgroud)
它(到目前为止)有效,尽管速度很慢
问题是我这样做是否正确,或者还有其他更好的解决方案
初始子树分割似乎没问题,但您可能需要仔细检查示例 3。
假设你有一个包含许多文件和子目录的源目录,并且你想将 lib 目录解压到自己的 git 项目中。这是一个简短的方法:
首先,在您想要的任何位置创建新存储库:
Run Code Online (Sandbox Code Playgroud)$ <go to the new location> $ git init --bare回到原来的目录:
Run Code Online (Sandbox Code Playgroud)$ git subtree split --prefix=lib --annotate="(split)" -b split然后将新分支推送到新的空存储库上:
Run Code Online (Sandbox Code Playgroud)$ git push <new-repo> split:master
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt
无论如何,接下来,如果这个 monorepo 是“写入”存储库,您应该能够简单地将子树推送更新到远程。
git subtree push --prefix package/one remote-one master
Run Code Online (Sandbox Code Playgroud)
关于推送花费的时间越来越长(存储库收集的提交越多)存在一些争议,因此这里有一些关于在拆分中使用重新加入选项的信息。
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |