相关疑难解决方法(0)

SVN:外部相当于Git?

我使用svn:externals从另一个SVN存储库中使用了两个SVN项目.

我怎样才能在Git中拥有相同的存储库布局结构?

svn git

167
推荐指数
3
解决办法
7万
查看次数

在Git中查看子目录?

是否可以在Git中检出存储库的子目录?

想象一下,我正在设置一个新的WordPress安装.我将为我的插件和主题自定义创建两个新目录:

  • wordpress/wp-content/plugins/myplugins/
  • wordpress/wp-content/themes/mytheme/

我想通过Git维护这些目录.在Subversion中,我将通过拥有trunk/myplugins/和trunk/mytheme/目录并检查子目录来实现这一目标.Git是否有办法使用单个存储库完成相同的任务?

我可能只是在一些Git范例中错过了这条船,因为很长一段时间的SVN用户很少接触Git.

编辑: 存储不同内容的多个分支是处理此问题的有趣方式.

git sparse-checkout

154
推荐指数
5
解决办法
12万
查看次数

如何制作浅git子模块?

是否有可能有浅子模块?我有一个包含多个子模块的超级项目,每个子模块都有很长的历史记录,所以它拖延了所有历史记录.

我找到的只是这个没有答案的线索.

我应该破解git-submodule来实现这个吗?

git git-submodules

129
推荐指数
5
解决办法
4万
查看次数

在Git 1.7.0中稀疏结账?

使用Git 1.7.0中新的稀疏结账功能,是否可以像在SVN中一样获取子目录的内容?我找到了这个例子,但它保留了完整的目录结构.想象一下,我只想要'perl'目录的内容,而没有名为'perl'的实际目录.

- 编辑 -

例:

我的git存储库包含以下路径

repo/.git/
repo/perl/
repo/perl/script1.pl
repo/perl/script2.pl
repo/images/
repo/images/image1.jpg
repo/images/image2.jpg
repo/doc/
repo/doc/readme.txt
repo/doc/help.txt
Run Code Online (Sandbox Code Playgroud)

我想要的是能够从上面的存储库中生成这种布局:

repo/.git/
repo/script1.pl
repo/script2.pl
Run Code Online (Sandbox Code Playgroud)

然而,使用当前的稀疏结账功能,似乎只能获得

repo/.git/
repo/perl/script1.pl
repo/perl/script2.pl
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.

git version-control sparse-checkout

68
推荐指数
4
解决办法
4万
查看次数

Git子模块没有额外的重量

我还不是Git大师,面对一个问题,我无法弄清楚如何修复.我有一个我的WordPress自定义骨架的回购,我已经添加了WordPress作为其原始回购的子模块git submodule add wp_repo_url.当我将我的repo克隆到本地机器时:

git clone --recursive https://github.com/user/repo local_dir
Run Code Online (Sandbox Code Playgroud)

它按预期下载了WP子模块​​,但问题是这样 - 实际文件只有20.7Mb,而且.git/modules/core/objects/pack我有一个巨大的124Mb .pack文件,我认为这个文件就像提交该子模块的历史/修订一样.

如何在克隆时重新添加子模块或修改以防止下载这个额外的重量?

更新:

在@iclmam的帮助下,我提出了以下设置:

  • 我的骨架repo将WordPress作为一个子模块,整个原始回购与历史
  • 当从骨架创建一个新项目时,我将克隆它而不使用--recursive选项来只获取子文件的主文件和空文件夹
  • 如果我需要具有完整历史记录的WordPress - 例如,如果我需要在不同的WP分支/标签之间切换以测试我的插件/主题向后兼容性 - 那么我将获得具有完整历史记录的子模块
  • 如果我只是需要一个简单的干净安装最近的WP版本,我将改为wp目录并采用旧的方式:

    curl -L -O http://wordpress.org/latest.zip
    unzip latest.zip 
    mv wordpress/* .
    rm latest.zip  
    rm -rf wordpress
    
    Run Code Online (Sandbox Code Playgroud)

不是一个完美的解决方案(我想尽可能地自动化所有东西),但它现在有效.

对原始问题的任何建议表示赞赏.

git github git-submodules

12
推荐指数
1
解决办法
6223
查看次数

使用 '--depth' 选项浅更新 git 子模块

git submodule update已支持--depth此答案中所述的选项。

但是我们仍然无法轻松确定深度值,这可能会使 git 无法找到子模块的预期修订版。

浅层更新子模块是否有真正的解决方案?

git git-submodules

9
推荐指数
1
解决办法
3819
查看次数

如何在将深度保持为1的同时在标记中初始化子模块

对于普通的git仓库,你可以这样做:

git clone --branch 4.1.1 https://github.com/WordPress/WordPress.git . --depth 1
Run Code Online (Sandbox Code Playgroud)

这将在标签4.1.1上提供WP回购

对于一个子模块我确实得到了以下但我无法弄清楚如何只为一个标签.

git submodule add --depth 1  https://github.com/WordPress/WordPress.git wp
Run Code Online (Sandbox Code Playgroud)

如何在1个深度处将子模块签出到1个标签?

我不介意之后再做一些命令,但如果可能的话,在一个命令中甚至更好.

TLDR: 我想要一个标签的子模块.哪个.git(/ module)文件夹尽可能小.

git git-submodules

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

GitHub中的Jar依赖项

我正在GitHub上建立一个新的Java项目,我将把一些Apache Commons库作为依赖项.

确定我的项目需要那些jar文件的最佳实践是什么?我应该将依赖项上传到我的GitHub存储库(丑陋)吗?或者使用类似Maven的工具?

或者有没有办法链接另一个git存储库中的文件?Apache为它们的库提供了git存储库.它们是只读的,但我很好,因为我只想使用罐子.坏的是它们包含所有的来源,我只关心编译的jar.看来我们不能git submodule只是一个档案.

java git dependencies jar github

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

在不同文件夹中的分支之间共享代码

我有一个存储库,有两个分支(master和gh-pages).我的master分支的文件夹结构如下所示:

/dist
    /js
    /css
/other-folders
Run Code Online (Sandbox Code Playgroud)

在我的gh-pages分支中,我有一个_include包含一些文件的文件夹.我想与我的分支在/dist/css和/dist/js文件夹中共享我的代码gh-pages,以便我的gh-pages文件夹结构如下所示:

/_include
    /js
    /css
Run Code Online (Sandbox Code Playgroud)

要么

/_include
    /dist
        /js
        /css
Run Code Online (Sandbox Code Playgroud)

git可以这样吗?我不能只使用

git subtree push --prefix dist origin gh-pages
Run Code Online (Sandbox Code Playgroud)

因为那只会复制/dist到/dist我的gh-pages分支中的另一个文件夹

git

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

使用Jenkins的浅git子模块签出

我没有问题使用git命令执行此操作,如将Git子模块设置为浅克隆和稀疏签出一样?但是我有一个使用Jenkins的项目,并且正在Groovy Pipeline语法中使用checkout()函数。我找不到任何将--depth选项传递给git子模块更新命令的选项。

git-submodules jenkins jenkins-pipeline

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