标签: git-subtree

授予对 github 上单个文件的访问权限

我只是在寻找一种可能性来授予另一位开发人员访问我的 git 存储库中的一个文件的权限。除了子模块/子树之外还有什么方法吗?

这只是应该由其他人翻译的本地化文件。

期待您的回复!

谢谢!

塞巴斯蒂安

git translation github git-submodules git-subtree

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

Git 子树前缀路径

我有 GIT 子树的问题。

让我们看看,我有一个项目 A,其中包括:

Project A
|_CodeFolder1
|_CodeFolder2
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

假设我创建了一个只有SharedFolder1SharedFolder2的新存储库。所以我从主存储库中删除了这两个文件夹,并将它们添加到新的共享存储库中,如下所示:

SharedProject
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

我是子树的新手,但到目前为止我实现了从远程子树拉/推。但是我遇到了问题。添加子树时,必须添加前缀,但我不想将共享代码保存在不同的文件夹中,例如:

Project A
    |_CodeFolder1
    |_CodeFolder2
    |_SharedFolders
             |_SharedFolder1
             |_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

--prefix每当我尝试添加子树时,这就是什么:

git subtree add --prefix=SharedFolders --squash shared master
Run Code Online (Sandbox Code Playgroud)

有什么办法可以告诉 git 没有前缀,或者子树必须直接保存在 ProjectA 中,就像在第一个模式中一样,而无需为子树创建新文件夹?

我试过这个命令

git subtree add --prefix=/ --squash shared master
Run Code Online (Sandbox Code Playgroud)

但总是有错误。似乎子树不允许我将树中的文件夹直接带到我的工作路径而不为共享文件创建新文件夹。

任何帮助将非常感激。

git github git-subtree

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

如何做git子模块以及为什么要使用git子模块

我找到了一个github项目,它使用git子模块.

git子模块的用途是什么?

如何创建git子模块?

它们与子树的区别如何?

GitSubModule

谢谢

git github git-submodules git-subtree

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

包管理器与Git子模块/子树

是否有任何理由使用包管理器而不是git子模块/子树,反之亦然?git解决方案似乎比简单的包管理器麻烦得多.

假设git子模块的节省空间的好处并不重要.

更新:有人在这个问题上添加了一个C++标签,但我已经删除了它.这个问题与C++没有特别的关系.欢迎提供比接受的答案更一般的答案.

package-managers git-submodules git-subtree

8
推荐指数
2
解决办法
894
查看次数

删除分支上的Git提交

如何删除分支的提交master

我已经添加了一个大型库,以及一个非常丰富的提交历史(并且在我的代码之前)通过Git子树添加到子目录.我想追溯整个历史,但仍然可以合并到新的提交到库.

我尝试了各种组合,git rebase但我从未得到预期的结果[*].

我的存储库看起来像:

A---B-----------F---G master
               /
  ... C---D---E
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

A---B-----------F'--G' master
               /
              E'
Run Code Online (Sandbox Code Playgroud)

要么:

A---B-------E'--F'--G' master
Run Code Online (Sandbox Code Playgroud)

[*]:

  • git rebase --onto C E master
  • git checkout F; git rebase --onto C E master

git git-rebase git-subtree

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

使用git flow和git子树

我刚刚将一个大的svn repo迁移到git并开始使用gitflow.它的作用就像一个魅力,但现在我正在考虑将这个大型回购分成几个较小的回购.

让我们假设repo目录树如下:

/repo
  - libs
  - apps
    -- app 1
    -- app 2
Run Code Online (Sandbox Code Playgroud)

我们希望将其拆分为三个存储库,一个具有核心结构(libs和apps目录),另外两个具有apps目录.

如果我使用git子树进行拆分,我将能够在每个部分单独使用git flow,或者我将不得不全局使用它?

PS:这是我在stackoverflow中的第一个问题,请善待:)

git configuration multiple-repositories git-flow git-subtree

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

使现有文件夹成为git子树

根据我的问题Git子树导出和重新导入的问题,我想问一下如何将文件夹转换为子树.

想象一下,我有一个存储库A,我有代码,现在应该与另一个项目共享(可能更多),所以我将所有共享代码放在文件夹"sub"中.此文件夹现在应该被提取(如果可能没有历史记录)到裸存储库C.之后"sub"应该成为C的子树,但不会丢失A中的历史(非常重要).我也希望能够在"sub"中进行更改并将它们推回到C.

git git-subtree

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

如何安装官方Git安装附带的子树?

我从http://git-scm.com下载并安装了最新的Git版本1.8.4.2 .我希望可以安装各种第三方Git模块,如Subtree /usr/local/git/contrib.但是,该contrib文件夹内部只包含一个文件夹(completion),没有其他文件或文件夹.

所以我有两个问题:

为什么contrib文件夹中缺少模块?

如何Subtreecontrib文件夹中没有相同的情况下安装?(我更喜欢从官方Git源代码安装Subtree,而不是从https://github.com/apenwarr/git-subtree安装,现在这是一个过时的仓库)

顺便说一下,我正在运行OS X Mavericks

git git-subtree

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

删除不在子树中或原始存储库中的提交

我实际上有两个存储库:

  • main
  • external

main仓库是一段时间后,将合并后external/main的目录(如子树).现在我想将所做的更改迁移external/mainmain存储库,但只有这些提交而没有其他无关的提交external/<anything-else>.

我实际上尝试过经典:

git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter main -- --all
Run Code Online (Sandbox Code Playgroud)

但是这也删除了对初始main存储库所做的所有提交,只留下了在externalgit存储库中创建的提交.


那么:如何只保留提交:

a)制作初始main存储库

b)制作external(external/main)的子树


当我尝试时git pull -s subtree ../external,提交都被合并,包括在子树中没有改变任何内容的提交.我想只有实际改变子树中某些内容的提交,并且还只有来自子树的文件信息.

git git-filter-branch git-subtree git-rewrite-history

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

不能用git子树拉

我正试图从遥控器拉到我的仓库中的文件夹.使用时:

git subtree pull --prefix my-local/folder my-remote master

我收到以下错误:

fatal: refusing to merge unrelated histories

我在另一篇文章中读到我可以使用该选项--allow-unrelated-histories但是当我这样做时error: unknown option --allow-unrelated-histories (我把选项放在最后)

我正在使用git版本2.10.1和Windows 10

任何有关如何向前推进的帮助或想法都非常感谢!

git git-subtree

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