是否可以在一个目录中拥有2个git存储库?我想不会,但我想我会问.基本上,我想检查我的主目录配置文件(例如.emacs),它应该在我工作的所有机器上是通用的,但是有本地文件的第二个存储库(例如.emacs.local),其中包含机器特定的配置.我能想到的唯一方法是将本地配置放在子目录中,并忽略主git存储库中的子目录.还有其他想法吗?
我觉得使用Git子模块对于我的开发工作流程来说有点麻烦.我听说过Git子树和Gitslave.
我们有一个包含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 subrepo 的项目:https : //github.com/ingydotnet/git-subrepo,我正在尝试弄清楚如何将功能分支实现为开发工作流程。
这是我到目前为止所拥有的:
git subrepo push --all以将提交也推送到各自的 repos这听起来对吗?在任何时候都我不得不使用git subrepo branch或者git subrepo commit所以我觉得这样的工作流程实际上不是功能的预期工作流程的Git分支subrepos。如果我建议的工作流程是正确的,那么 subrepo 分支和提交命令的实际目的是什么?
我想sub在我的main存储库中有一个存储库,它可以从与我的main. 所以我想要一个子模块。但我想在本地创建子模块,然后将其推送到远程。它还不存在于任何地方。
我见过的所有示例都涉及将远程存储库拉入子模块,这就是子模块的创建方式
git submodule add git@github.com:url_to/awesome_submodule.git path_to_awesome_submodule
Run Code Online (Sandbox Code Playgroud)
有没有办法创建子模块,进行一些提交,然后将它们推送到有问题的远程存储库?
从带有 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
git-subrepo ×6
git ×4
git-subtree ×3
git-slave ×2
git-repo ×1
git-svn ×1
github ×1
repository ×1