相关疑难解决方法(0)

使用git作为集中版本服务器

我目前在工作中使用svn.

我们的设置是:每个人都有一个工作副本,我们承诺由apache2服务的svn服务器.

所以我提交了更改,另一个更新,每个人都可以按照自己的意愿处理副本.

因此部署非常简单.

但现在,我想用Git做同样的事情.可能吗?

我想在我的主服务器上有一个git repo,在家里开发,提交对服务器的更改等等.

谢谢你的帮助

svn apache git version

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

如何计算远程 git 存储库的总行数

我想计算 git 存储库中的总代码行数。我在谷歌找到了答案。

git ls-files -z | xargs -0 cat | wc -l

它在本地存储库中运行良好。

但。我想在远程存储库中计数。

所以,我试过了。

git ls-files -z /home/bjyoo/repositories/root/localfiletest.git | xargs -0 cat | wc -l

,

git ls-files -z --git-dir=/home/bjyoo/repositories/root/localfiletest.git | xargs -0 cat | wc -l

git --git-dir=/home/bjyoo/repositories/root/localfiletest.git --ls-files | xargs -0 cat | wc -l

所有命令失败。

有谁知道如何计算代码总行数?

linux git bash

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

没有前导目录的Git稀疏结账

我理解如何在Git中配置稀疏结账,但我想知道是否可以消除主要目录.例如,假设我有一个Git存储库,其文件夹结构如下:

  • 文件夹1 /富
  • 文件夹2 /富/酒吧/东东
  • folder3 /另一个/富/酒吧/ stuff2

我只想要里面的内容stuff2.对于那些目录的稀疏检出,.git/info/spare-checkout文件看起来像这样:

folder3/another/foo/bar/stuff2/
Run Code Online (Sandbox Code Playgroud)

我的问题是在我完成稀疏结账后,我没有看到stuff2或者stuff2我的目录根目录内的内容; 我看到folder3,然后所有的子目录导致stuff2.

我猜这个问题的答案是Git不可能,但我只是想确定一下.这是我想念的SVN的一种(也是唯一的)行为; 能够运行svn co https://url.com/myrepo/folder3/another/foo/bar/stuff2 .并将内容转储到当前目录中.

git directory-structure sparse-checkout

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

迁移到Git时如何处理部分svn:externals?

我想将 SVN 存储库导入 GitHub Enterprise 存储库

与此相关的问题有很多,其中大多数都可以通过 Git 子模块或 Git 子树来解决。

就我而言,我有两个存储库:

  • 主项目存储库
  • 模块存储库(超过 2 GB 的大型 SVN 存储库)

该模块存储库具有以下架构:

foolib/
   moduleA/
      ...
   moduleB/
      ...
   ...
Run Code Online (Sandbox Code Playgroud)

对于该项目,只有很少的模块foolib被用作svn:externals. 例如,这个主项目仅使用moduleAfrom foolib.

正如这个问题中提到的,一种可能的解决方案是使用稀疏结帐。我猜 Git 子树也能做到这一点。不幸的是它没有解决主要问题。

如果我的项目很小,只要我从 得到一些东西foolib,即使使用 space-checkout,我也会检索到整个历史记录foolib例如2 GB)。SVN 不存在这个问题,因为svn:externals属性只获取它需要的内容,而不是整个历史记录。

我可以想象做一些愚蠢的事情,例如使用中列出的提交动态重新创建本地稀疏存储库git log --follow foolib/moduleA。但我认为这不是一个好的解决方案。

在 Git 中获得类似行为而无需获取foolib我只需要几个模块的所有内容的整个历史记录的正确工作流程是什么?

svn git svn-externals git-subtree

6
推荐指数
0
解决办法
473
查看次数

从Git存储库中分叉文件,而无需克隆存储库

有没有办法在不克隆整个存储库的情况下从外部Git存储库派生文件?

git

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

没有本地克隆的远程存储库上的git操作

在没有本地克隆的情况下,使用标准的 git 命令行工具可以在远程 git 存储库上进行什么样的只读操作?

  • 有没有办法在远程仓库上列出引用(特别是标签和分支)?
  • 有没有办法列出给定修订版中给定目录的内容?
  • 是否可以在给定修订版中检索给定文件的内容?

我猜想在没有本地克隆的情况下执行此操作可能会涉及一些低级别的原始操作,并且我猜想使其可用最好通过一些简短的 shell 脚本来完成。这仍然在这个问题的范围内。

git remote-access remote-server

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

git子模块比符号链接有什么优势?

我有一个git存储库(A),其中包含我需要在第二个存储库(B)中重用的库代码.

我的理解是git子模块不允许仅导入存储库中的特定路径,需要导入整个存储库.它是否正确?

因此,我看到了两个问题的解决方案:

  1. 将A和B作为单独的存储库,并添加从B到A中的库目录的符号链接.
  2. 使用库添加新的git存储库C并将其作为A和B中的子模块导入.

第二种方法有哪些优点?在我看来,为小型库添加一个单独的存储库是一种过度杀伤,可能会给项目维护带来不必要的负担.有没有更好的方法来解决我的问题?

git git-submodules

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