标签: git-submodules

使用托管代理对管道进行 Git 子模块更新

我有一个自托管代理,并且有一个带有子模块的 git 存储库。.gitmodules 中的 URL 是http://

当我尝试初始化作业时,它无法更新子模块。

git submodule sync
git submodule update --init --force
Cloning into 'foo-dev-common'...
Submodule 'foo-dev-common' (https://MY_ORG@dev.azure.com/MY_ORG/PInC/_git/foo-dev-common) registered for path 'foo-dev-common'
fatal: could not read Password for 'https://MY_ORG@dev.azure.com': terminal prompts disabled
fatal: clone of 'https://MY_ORG@dev.azure.com/MY_ORG/PInC/_git/foo-dev-common' into submodule path 'foo-dev-common' failed
##[error]Git submodule update failed with exit code: 128
Finishing: Checkout foo-rose-identity-service@submod_bd_mahesh to s/foo-rose-identity-service
Run Code Online (Sandbox Code Playgroud)

我也尝试过添加存储库 self 和

    steps:
  - checkout: self
    submodules: true
    persistCredentials: true
Run Code Online (Sandbox Code Playgroud)

git-submodules azure-devops azure-devops-self-hosted-agent

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

如何丢弃 git 子模块中修改的内容?

我最近运行了一个 git 子模块initupdate在我的暂存分支中提交。这导致 git 从子模块下载了一堆更改,我不想将这些更改放入暂存阶段并希望完全丢弃。

\n
Changes not staged for commit:\n  (use "git add <file>..." to update what will be committed)\n  (use "git restore <file>..." to discard changes in working directory)\n  (commit or discard the untracked or modified content in submodules)\n        modified:   path-to/submodule1 (modified content)\n        modified:   path-to/submodule2 (new commits,modified content)\n    \xe2\x80\xa6\n\n\nno changes added to commit (use "git add" and/or "git commit -a")\n
Run Code Online (Sandbox Code Playgroud)\n

我想放弃所有这些更改,并且不向当前分支添加任何内容。我该怎么做呢?

\n

git git-submodules

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

git子模块:自定义

使用git子模块时,进行自定义的首选方法是什么?我是不是该...

  • fork项目并跟踪fork
  • 尝试覆盖默认行为
  • 在本地进行更改

如果这些都没有意义,那会是什么呢?

git customization dvcs git-submodules

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

如何“冻结” git子模块

我正在使用一些不会托管自己的存储库,并且如果在我的应用程序不可用时进行部署该怎么办?这根本不可能发生。

有没有一种方法可以某种方式“冻结”子模块,以便当我从存储库中提取子模块时,它们已经被初始化并更新了?

任何帮助表示赞赏。

git git-submodules

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

文件夹中的多个GIT项目

我有一个cpp文件夹,其中包含所有库和程序

cpp/libraries
cpp/programs

cpp/programs/proj1
cpp/programs/proj2
cpp/testing/
Run Code Online (Sandbox Code Playgroud)

到现在为止,使用一个大的cppgit 是完全可以的.但是,因为我目前一次只做一个以上的项目,所以两个项目的所有提交都混合起来变得相当不方便.我已经阅读了很多关于子模块的内容,包括为什么它们不太好.我的具体情况是100%离线(只推到USB记忆棒上随身携带).

我理想的解决方案是子文件夹(用于项目)中的几个gits,它们是完全独立的,但保留了"全部"git(用于测试和库等),其中包含整个cpp文件夹.就像使用.gitignore一样,只需将被忽略的子文件夹project1和2初始化为新的gits.它不是!我需要将库与项目放在同一个git中.但是,如果我在当前的一个中开始一个新的,我总是得到"修改未跟踪文件"而不是工作目录清理...

子模块真的可以解决这个问题吗?还有其他一些简单的方法吗?正如我所说,这是一个特殊情况,因为这些是我的私人/本地gits,我只需要它就可以这么简单(不需要严格一致或任何东西).

我使用git作为cli工具,除非在gui thing(mac)中有很大的好处,我真的不想改变它.

谢谢你的建议.

git git-submodules

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

如何使用EGit子模块

用于Git的Eclipse Team Provider可以工作,但是当我使用synchronize时,我看不到子模块的任何更改.
我在命令行上看到了diff的变化,而且我看到了变化.

那么,有没有人知道以同步和提交子模块的方式使用Git和Eclipse?

eclipse git tortoisegit git-submodules egit

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

使用不同子模块设置的checkout提交无法正常工作

在我们的一个git repo中,在某个时刻添加了一个子模块.现在,每当我检查git repo的状态时,子模块还没有存在,它就没有正确地"移除"子模块.它似乎处于一种状态,子模块在那里一半,一半不在.

我还注意到,在该子模块不再预设.gitmodules,但其在文件夹中path/to/submodule,并.git/modules仍然存在.

我至少试过以下几件事:

git status =>未跟踪的文件:path/to/submodule

git reset --hard =>不变

git submodule foreach reset --hard =>不变

git clean -d -f => Skipping repository path/to/submodule

git submodule update --init =>不变

但直到现在我还没有解决它.当然我可以手动删除这些文件夹,但我希望它在我切换提交时自动工作,因为这也是我们的CI(Jenkins)上的一个问题.

任何帮助/提示都非常感谢!

git git-submodules

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

强制在Git中添加子模块内容

我在一所学校编写代码,要求我们用git将所有工作提交给他们的服务器.每个作业都有自己的文件夹,该文件夹具有自己的.git目录.

我正在尝试将父文件夹推送到我的github,但是当我执行推送它实际上并没有上传文件夹内的代码,因为它被认为是一个子模块.我已经尝试制作一个忽略所有.git文件夹的.gitignore文件,但这不起作用.

我看到的唯一解决方案是每次我想将项目内的更改推送到我的github时手动执行git远程,或者编写一个脚本,将父目录的内容与第二个目录同步,然后删除所有推送之前.git文件夹里面.

有没有办法干净地推送到github而无需手动推送每个文件夹,而且不必为了推送到github而创建一个基本上是我的工作副本的目录?

git github git-submodules

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

Git:忽略子模块中未跟踪的文件

在我的git repo中,我已经导入了其他项目作为子模块。到目前为止,一切都很好。但是,导入项目的维护者对其.gitignore文件有些草率。因此,在构建导入的项目之后,git status(在子模块中)列出了大量的未跟踪文件。因此,git status在我自己的项目中说:

modified:   <submodule> (untracked content)
Run Code Online (Sandbox Code Playgroud)

我的问题是:有什么办法可以告诉您git在不修复上游.gitignore文件的情况下忽略这些未跟踪的文件?


我完全意识到可能的答案是“否”,并且我已经看到了一个SO问题该问题告诉我不可能忽略对跟踪文件的更改。这对我来说完全有意义,而与文件是否在子模块中无关。但是,我只关心忽略未跟踪的文件,因此我认为有一个很好的解决方案来解决我的问题。

git gitignore git-submodules

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

如何在Bitbucket管道中使用git子模块?

如何在Bitbucket管道中使用git子模块?

我正在使用Bitbucket管道来构建我的项目,并且在子模块中遇到问题,我可能没有正确配置SSH密钥。

我所做的:

  1. 在我的计算机上创建了SSH密钥对。
  2. 将相同的密钥对粘贴到“设置/ SSH密钥”下的两个存储库(将在其中运行构建的存储库和依赖项存储库中)中。

生成错误:

Submodule 'dependencies/my-dependency' (git@bitbucket.org:mycompany/my-dependency.git) registered for path 'dependencies/my-dependency'
Cloning into 'dependencies/my-dependency'...
Warning: Permanently added the RSA host key for IP address '18.205.93.2' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@bitbucket.org:mycompany/my-dependency.git' into submodule path 'dependencies/my-dependency' failed
Run Code Online (Sandbox Code Playgroud)

我的yml文件

image:
  name: myuser/my-image-name
  username: $DOCKER_HUB_USERNAME
  password: $DOCKER_HUB_PASSWORD
  email: $DOCKER_HUB_EMAIL

pipelines:
  branches:
    pipelines-setup:
      - step: …
Run Code Online (Sandbox Code Playgroud)

git ssh git-submodules bitbucket-pipelines

2
推荐指数
3
解决办法
1295
查看次数