相关疑难解决方法(0)

GitHub中的Jar依赖项

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

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

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

java git dependencies jar github

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

如何将 git 子模块与特定的哈希挂钩?

我有一个项目,里面有一个子模块。我希望能够克隆父项目并以--recursive该子模块的特定哈希值获取子模块。特定的哈希不是任何分支的头,而是特定的提交。从 svn 的角度来看,将外部与特定修订版挂钩。

我尝试将子模块添加到分支并签出所需的哈希值,但是当我想提交更改时,它保留了添加中的初始哈希值。

git tortoisegit

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

为什么`git submodule`每次都需要从远程存储库中获取?

仅从SO上的"git子模块"的结果数量来判断,这显然是一个常见且容易混淆的话题,因此我将尽可能精确.

忘记更新/提交/分支子模块的一切(我理解这一点使事情变得非常复杂),为什么每次更改分支时子模块都会被清空?根据我目前的理解,这使分支机构变得昂贵 ; 如果我在机场,不能轻易/廉价地连接怎么办?我做错了什么,还是有一些我还没有意识到的发展理念?

例子永远不会伤害

## make a new project
$> git --version
git version 1.7.5.4
$> mkdir new_proj; cd new_proj; git init
$> touch new_file_1.txt; touch new_file_2.txt
$> git add . && git commit -m "first commit"

## move into some development branch
$> git checkout -b cool_feature
$> <hack hack hack>
# in the middle, I add a submodule
$> git submodule add https://github.com/some/other_proj.git other_proj
$> git submodule update --init
$> ls -lR
new_file_1.txt
new_file_2.txt …
Run Code Online (Sandbox Code Playgroud)

git git-submodules

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

"git submodule foreach git pull origin master"和"git pull origin master --recurse-submodules"有什么区别?

我有一个dotfiles存储库,其中我的所有vim插件都存储为子模块,因此它们在更改时很容易更新.我认为这两个命令做了同样的事情,但我注意到情况绝对不是这样.

我知道我有几个子模块的更新,所以我git pull origin master --recurse-submodules从父存储库的根目录运行.它似乎迭代每个子模块,但只从其原始存储库获取更新.

当我运行时,git submodule foreach git pull origin master它实际上git pull origin master在每个存储库中运行,同时执行提取和合并.

有什么用--recurse-submodules?我对它实际上要做的事情感到有点困惑,谷歌对我发现的东西有点神秘.我想也许你聪明的人会有一个更简单的解释.

git recursion git-submodules

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

Git子模块新版本更新

我已经分叉了MapBox-ios-sdk并对其进行了一些更改.更新版的sdk就在这里,我将更改合并到了fork中.MapBox-ios-sdk还包含SMCalloutView,它是MapBox-ios-sdk中的子模块.然而,官方sdk的版本使用了更新的,更新的SMCalloutView,它不在我的分支中.

我如何让它更新

我用这里的说明更新了我的sdk .但是,这不会更新SMCalloutView.我也尝试过git submodule update --recursiveMapBox-ios-sdk的级别,没有任何反应.事实证明,这是因为SMCallOutView处于"无分支"状态.为什么它在"没有分支"?如何将所有子模块置于"无分支"状态之外?如果它处于"无分支",那么我永远不会知道需要更新的子模块(或甚至更多嵌套)的子模块或子模块.

git git-submodules

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

多个Gitlab项目可以使用同一个Git存储库吗?

我一直在研究从 SVN 迁移到 Git,以便我们可以使用 Gitlab。但有一件事我不确定;我们可以将 Gitlab 中的多个项目指向一个存储库吗?

\n

文档说:

\n
\n

项目

\n

一个 GitLab 项目大致对应于一个 git 存储库。每个项目都属于一个命名空间,可以是用户或组。如果项目属于用户,则项目所有者可以直接控制谁有权访问该项目;如果项目属于某个组,则组\xe2\x80\x99s用户级权限也会生效。

\n
\n

...但是“大致”是什么意思?

\n

svn migration git gitlab

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

如何以多线程或有效的方式执行“git pull”?

我有一个名为“projects”的目录,它是父目录,在我的项目附近有 200 个子目录。

现在我正在git pull通过以下脚本执行。

#!/bin/bash  
find . -type d -name .git -exec sh -c "cd \"{}\"/../ && pwd && git pull && echo -e '-------------------- \n ' " \;
Run Code Online (Sandbox Code Playgroud)

有没有什么有效的方法可以以多线程和更快的方式完成这个过程?

git bash multithreading

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

git add 具有深度和分支选项的子模块

--depth使用 git 2.4.3 (Fedora 22),我可以使用和选项克隆存储库-b

$ git clone --depth 1 -b release https://github.com/adobe-fonts/source-code-pro.git fonts/source-code-pro
Cloning into 'fonts/source-code-pro'...                                    
remote: Counting objects: 114, done.
remote: Compressing objects: 100% (113/113), done.
remote: Total 114 (delta 1), reused 105 (delta 1), pack-reused 0
Receiving objects: 100% (114/114), 7.27 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (1/1), done.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)

理论上git submodule add应该支持相同的选项。不幸的是它似乎不起作用:

$ mkdir foo
$ cd foo
$ git init
Initialized empty Git repository in /spare/local/arankine/foo/.git/ …
Run Code Online (Sandbox Code Playgroud)

git

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

Git - 如何自动将目录中的更改推送到另一个分支

完成问题重写

所以我认为我非常简单直接地解释了这个问题,但似乎我过于简单了,所以这里是所有额外的细节.希望这有助于每个人看到这也不是重复.


我有一个存储库(项目),我希望自动化将提交从分支中的一个目录推送到另一个分支的过程; 我还没有遇到过的东西.

这是我的项目的完整结构:

[PROJECT MASTER BRANCH]
|- gh-pages    (directory)
|- css         (directory)
|- index.html  (file)
|- readme.md   (file)

[PROJECT gh-pages BRANCH]
|- (empty at the moment)
Run Code Online (Sandbox Code Playgroud)

我希望做的是创建一个钩子,它将从主分支中自动处理我的gh-pages目录中的更改,并通过gh-pages分支复制/克隆/替换它们(无论哪个术语使用正确),项目网站分支.这是一个省略所有其他文件的示例:

[PROJECT MASTER BRANCH]
|- gh-pages         (directory)   <=== SEE UPDATE BELOW [A]
|  |- css           (directory)
|  |  |- style.css  (file)
|  |- index.html    (file)

[PROJECT gh-pages BRANCH]
|- css           (directory)   <=== SEE UPDATE BELOW [B]
|  |- style.css  (file)
|- index.html    (file)
Run Code Online (Sandbox Code Playgroud)

我对这个级别的Git Hub完全陌生.我通常只是坚持基础,从不使用终端/外壳.总而言之,为了澄清我希望做的事情,我想:

  • 只需要在[Master Branch]工作.我需要对[gh-pages Branch]进行的所有更改我在[Master Branch]的gh-pages目录中进行的更改
  • 最好通过添加一个似乎是post-receive hook的简单文件来实现这一点?

这是我尝试使用的一些post-receive钩子代码(我是通过研究一些东西来实现的)但它不起作用: …

git configuration github

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

如何在 gitmodules 文件中指定标签?

我正在尝试设置一个通用的 .gitmodules 文件,用作新项目始终需要的特定静态数量的子模块的模板。然后使用从 .gitmodules 恢复 git submodules 中显示的技术一次性初始化子模块:

#!/bin/sh

#set -e

git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
    while read path_key path
    do
        url_key=$(echo $path_key | sed 's/\.path/.url/')
        url=$(git config -f .gitmodules --get "$url_key")
        branch_key=$(echo $path_key | sed 's/\.path/.branch/')
        branch=$(git config -f .gitmodules --get "$branch_key")
        if [ ! -d "$path" ]; then
            echo URL - $url, Path - $path, Branch - $branch
            if [ -n "$branch" ]; then
                branch="-b $branch"
            fi
            git submodule add --force $branch …
Run Code Online (Sandbox Code Playgroud)

git

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