标签: git-subrepo

一个目录中有两个git存储库?

是否可以在一个目录中拥有2个git存储库?我想不会,但我想我会问.基本上,我想检查我的主目录配置文件(例如.emacs),它应该在我工作的所有机器上是通用的,但是有本地文件的第二个存储库(例如.emacs.local),其中包含机器特定的配置.我能想到的唯一方法是将本地配置放在子目录中,并忽略主git存储库中的子目录.还有其他想法吗?

git git-submodules git-subrepo

78
推荐指数
7
解决办法
5万
查看次数

Git子模块的替代品?

我觉得使用Git子模块对于我的开发工作流程来说有点麻烦.我听说过Git子树和Gitslave.

  • 是否有更多工具用于多个存储库项目以及它们如何比较?
  • 这些工具可以在Windows上运行吗?

git-submodules git-subtree git-slave git-repo git-subrepo

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

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

我们有一个包含N个文件夹的git存储库.

Repo
|-Folder1
|-Folder2
|- ...
|-FolderN
Run Code Online (Sandbox Code Playgroud)

我们希望与不同的合作者共享不同的文件夹.每个协作者只能访问其允许的文件夹子集.使用git实现这一目标的"好"方法是什么?


答案是使用git submodules.但在我读完这篇文章之后:https: //codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/ 我明白你需要掌握好git(这不是我们的合作者的情况),以便在使用时没有问题git submodules.

我读到了一些可能的替代品,比如gitslave,和git subtree.gitslave似乎是一个很好的解决方案,但在我看来仍然是一个复杂的解决方案

这是我的简单解决方案,我想知道它是否有一些非常糟糕的缺点:

- 为每个文件夹和Repo存储库提供一个简单的存储库.然后在主Repo中添加Folder1,...,FolderN中的所有文件.

-globalpush脚本:

function globalpush(){
REPOS="$HOME/Repo/
       $HOME/Repo/Folder1
       $HOME/Repo/Folder2
       $HOME/Repo/Folder3
       # ...
       $HOME/Repo/FolderN"   

#do not show untracked files
git config status.showuntrackedfiles no

read -p "Commit description: " description

for repo in ${REPOS}
do
    # if the repo folder exists
    if [ -d $repo ]
    then
        # Go inside the repo
        cd $repo
        echo …
Run Code Online (Sandbox Code Playgroud)

git git-submodules git-subtree git-slave git-subrepo

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

使用 git subrepos 进行功能分支

我有一个使用 git subrepo 的项目:https : //github.com/ingydotnet/git-subrepo,我正在尝试弄清楚如何将功能分支实现为开发工作流程。

这是我到目前为止所拥有的:

  1. 在 monorepo 中创建一个分支
  2. 在 monorepo 中进行更改
  3. 为您的分支发出拉取请求到 master
  4. 在 pull request 合并到 master 后,运行git subrepo push --all以将提交也推送到各自的 repos

这听起来对吗?在任何时候都我不得不使用git subrepo branch或者git subrepo commit所以我觉得这样的工作流程实际上不是功能的预期工作流程的Git分支subrepos。如果我建议的工作流程是正确的,那么 subrepo 分支和提交命令的实际目的是什么?

git git-subrepo

7
推荐指数
0
解决办法
430
查看次数

无需远程创建 git 子模块

我想sub在我的main存储库中有一个存储库,它可以从与我的main. 所以我想要一个子模块。但我想在本地创建子模块,然后将其推送到远程。它还不存在于任何地方。

我见过的所有示例都涉及将远程存储库拉入子模块,这就是子模块的创建方式

git submodule add git@github.com:url_to/awesome_submodule.git path_to_awesome_submodule
Run Code Online (Sandbox Code Playgroud)

有没有办法创建子模块,进行一些提交,然后将它们推送到有问题的远程存储库?

git version-control github repository git-subrepo

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

svn 到带有嵌套 svn:externals 的 git 迁移

从带有 svn externals 的 svn 迁移到 git。每个 svn externals 可能有它自己的 svn:externals。我发现这里没有关于如何将带有外部的 svn 迁移到 git 的指南。每个分支可能有它自己的分支标签主干。迁移整个存储库的最佳方法是什么?我正在查看主存储库的 git svn clone 添加 git 子模块,以及每个外部克隆的子模块。但是由于外部是嵌套的,我不知道什么是最好的解决方案。到目前为止使用的脚本:

https://github.com/eneroth/git-externals
https://github.com/eneroth/git-externals
Run Code Online (Sandbox Code Playgroud)

git-svn svn-externals git-submodules git-subtree git-subrepo

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