标签: git-clone

私有依赖项的 npm install 不起作用,但 clone 起作用

我的 package.json 中有 3 个私有依赖项。当我运行 npm install 时出现错误。请注意,当我进行克隆时,它只会克隆 NPM 安装不起作用

Cloning into bare repository  
Permission denied (publickey). 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights and the repository exists.
Run Code Online (Sandbox Code Playgroud)

整个日志在下面。

相关的类似问题很少,但没有一个在我的场景中提供解决方案。最初我认为是 nodejs 和 npm 版本问题,所以我通过运行 windows nodejs.msi 更新了它们,目前版本如图所示。 在此处输入图片说明

我的package.json的内容如下:(大部分都去掉了,只提到了重要的私有依赖)

  "dependencies": {
    "private-dep2": "git+ssh://git@github.comp.com:reph/private-dep2.git#v0.3.5"
  },
  "devDependencies": {
    "ember-cli": "0.2.5",
    "ember-cli-app-version": "0.3.3",    
    "tough-cookie": "^0.12.1",
    "private-dep3": "git+ssh://git@github.comp.com:reph/private-dep3.git#v0.3.5",
    "private-dep1": "git+ssh://git@github.comp.com:reph/private-dep1.git#v0.7.5"
  }
Run Code Online (Sandbox Code Playgroud)

整个日志如下:

PS C:\DDrive\Projects\p-ceck> npm cache clean
PS C:\DDrive\Projects\p-ceck>
PS C:\DDrive\Projects\p-ceck>
PS C:\DDrive\Projects\p-ceck> bower cache clean …
Run Code Online (Sandbox Code Playgroud)

git github git-clone node.js npm

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

git clone,"check out files"阶段被跳过

ubuntu@site3-user03:/projects$ git clone git://git.alsa-project.org/alsa-driver.git  
Run Code Online (Sandbox Code Playgroud)

被执行了.它导致了以下输出

Cloning into 'alsa-driver'...
remote: Counting objects: 208801, done.
remote: Compressing objects: 100% (41538/41538), done.
remote: Total 208801 (delta 162528), reused 206283 (delta 160012)
Receiving objects: 100% (208801/208801), 37.00 MiB | 1.53 MiB/s, done.
Resolving deltas: 100% (162528/162528), done.
Checking connectivity... done.
ubuntu@site3-user03:/projects$
Run Code Online (Sandbox Code Playgroud)

但是,由于某些未知原因,克隆过程不包括检出文件的阶段 :100%(xyz/zyx),完成.
通常,克隆过程包括结账到工作空间.在最终效果中,我的私人分叉有空的工作空间,我自己必须决定哪些分支可能不是直截了当.

ubuntu@site3-user03:/projects/alsa-driver$ git ls-remote origin
a1c6fbc1a65d8a755425d0b56077868148512891    HEAD
1721fb542b00f1c7aebc923732068f403b6062ad    refs/heads/build
a1c6fbc1a65d8a755425d0b56077868148512891    refs/heads/master
71b3b2b41dfbdeda78e2e7b62fe2afa8b451fb6e    refs/heads/mirror
b044dfe04f636d87fd391b575ba41e495e68e973    refs/heads/release
6386d9e39e6f364698648f4e4741897f83b00121    refs/tags/build/v1.0.1
234b00ebe6e1513c3ce8cdd83999c255bd5516eb    refs/tags/build/v1.0.10
f888eb06d4c7af89faa2f9dda189d488312ecb07    refs/tags/build/v1.0.10rc1
e4c4d1037521f536b79f8d145979ec869db353f9    refs/tags/build/v1.0.10rc2
....
many more tags
Run Code Online (Sandbox Code Playgroud)

我的期望是克隆执行基于远程HEAD的签出,指向远程的某些提交.
跳过退房阶段的可能原因是什么? …

git git-clone git-checkout

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

如何使用子模块克隆本地存储库?

假设我递归地克隆一个存储库。

$ git clone --recursive ssh://server/project/client
Cloning into 'client'...
remote: Counting objects: 191, done
remote: Finding sources: 100% (191/191)
remote: Total 191 (delta 53), reused 159 (delta 53)
Receiving objects: 100% (191/191), 27.59 KiB | 0 bytes/s, done.
Resolving deltas: 100% (53/53), done.
Checking connectivity... done.
Submodule 'gui' (ssh://server/project/client/gui.git) registered for path 'gui'
Cloning into 'gui'...
remote: Counting objects: 3213, done
remote: Finding sources: 100% (3213/3213)
remote: Total 3213 (delta 1272), reused 3107 (delta 1272)
Receiving objects: 100% (3213/3213), 47.88 …
Run Code Online (Sandbox Code Playgroud)

git git-clone git-submodules

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

如何删除远程 git 存储库(如 VSTS)中的悬空提交

我一直在尝试通过将一些文件移动到 git LFS 来减小 Git 存储库的大小。再加上几个 100 个命令,这里我们的文件位于 git LFS 中,并且我的 git 提交中不再有这些文件的历史记录。

然而,每当我克隆存储库时,我仍然会下载大约 3GB 的对象。我通过在 Visual Studio Team Services 中创建一个新存储库来解决这个问题,在本地修剪和垃圾收集我的存储库,然后推送到那里后,它减少到 300mb。(在这篇文章中本地执行此操作的命令:Git:什么是悬空提交/blob 以及它们来自哪里?

但是我无法想象您总是必须删除/重新创建完整的存储库才能删除悬而未决的提交。

我还尝试过执行 git init,然后将其推送到现有存储库上,但它只会进一步增加对象数量。

对于也遇到类似问题的任何人,这些是我执行的用于创建新存储库而不需要悬空提交的命令,但是我想了解如何在现有存储库中执行此操作而不必删除它:

git clone https://avavedse.visualstudio.com/Test/_git/TestRepository
cd blahblah
git reflog expire --expire=now --all
git gc --prune=now
git remote add newrepo https://avavedse.visualstudio.com/Test/_git/TestRepositoryNewEdition
git push newrepo
Run Code Online (Sandbox Code Playgroud)

git visual-studio git-clone git-lfs azure-pipelines

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

Jenkins:在 docker 容器中克隆一个私有仓库

我知道在 SO 上已经有很多关于这个主题的问题,我尝试了他们提出的几乎所有解决方案,但我目前无法让它工作(我想要的方式)是)。

问题

我有一个在 Jenkins 中启动的 docker 容器,在这个 docker 容器中,我尝试克隆一个私有存储库。为此,我需要将我的公共 Jenkins 密钥添加到我的 Git 存储库中,并且我的 docker 容器需要知道这个 SSH 密钥。

我目前的工作解决方案

我已经能够通过在 my 中执行以下操作来做到这一点Jenkinsfile

docker.image('php_jenkins_test').inside('--env COMPOSER_HOME=$WORKSPACE/.composer -v /etc/passwd:/etc/passwd:ro -v /home/jenkins/.ssh:/home/jenkins/.ssh:ro') {
    sshagent(['jenkins-ssh-publickey']) {
        sh "./test/run-tests.sh"
    }
}
Run Code Online (Sandbox Code Playgroud)

由于以下原因,我将我的etc/passwd/home/jenkins/.ssh作为只读卷挂载:

  • Jenkins Docker 插件以 Jenkins 用户身份运行。这个用户的 UID 和 GID 在我的 Docker 容器中是未知的。因此我不得不安装/etc/passwd.
  • 当从 Git 存储库中提取时,我的known_hosts(和我的密钥?)需要在我的 docker 容器中知道。由于/etc/passwd将 jenkins 用户映射到/home/jenkins,我还必须在我的来宾计算机上安装 Jenkins 的 SSH 目录。
  • sshagent-command树立SSH插座等等,我的钥匙是我的容器内访问(纠正我,如果我错了,我是相当新的詹金斯和码头工人)。

就像我说的:这已经有效了。通过此设置,我可以在 Jenkins 的 docker …

git ssh git-clone jenkins docker

7
推荐指数
0
解决办法
2025
查看次数

fastlane - 克隆证书存储库时出错

我在使用 fastlane 和从 BitBucket 克隆 git repo 时遇到了一些问题。我收到以下错误:

fatal: could not read Username for 'https://bitbucket.org': terminal prompts disabled
[17:21:34]: Exit status: 128
[17:21:34]: Error cloning certificates repo, please make sure you have read access to the repository you want to use
[17:21:34]: Run the following command manually to make sure you're properly authenticated:
Run Code Online (Sandbox Code Playgroud)

我可以git clone毫无问题地手动repo,但是当我使用 fastlane 运行它时,我遇到了问题。

bitbucket command-line-interface git-clone fastlane fastlane-match

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

gitlab 重定向 push/fetch/clone 登录

我正在尝试将分支推送到 gitlab 远程存储库,行为示例如下:

git clone http://(path to branch)
Cloning into 'origin'...
fatal: unable to update url base from redirection:
    asked for: http://(path to branch)/info/refs?service=git-upload-pack
redirect: http://(path to root)/users/sign_in
Run Code Online (Sandbox Code Playgroud)

请注意 url 上的更改,并且我还在 .git/config 中输入了我的凭据,如下所示

[user]
    name = myname
    pwd = mypassword
    password = mypassword
Run Code Online (Sandbox Code Playgroud)

当我注册时,存储库要求我必须专门为该项目制作一个公钥,这可能是相关的。

git git-clone git-branch gitlab

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

git-svn 克隆:无法连接到存储库

环境信息

\n\n
~$ git --version\ngit version 2.11.0\n~$ git svn --version\ngit-svn version 2.11.0 (svn 1.9.5)\n~$ svn --version\nsvn, version 1.9.5 (r1770682)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在尝试克隆内部托管的 SVN 存储库,但遇到以下错误:

\n\n
~$ git svn clone http://[server]/svn/dev1\nInitialized empty Git repository in [~]/test/[root]/.git/\nCan\'t create session: Unable to connect to a repository at URL \\\n  \'http://[server]/svn/[root]\' at /usr/share/perl5/Git/SVN.pm line 148.\n
Run Code Online (Sandbox Code Playgroud)\n\n

SVN 结账按预期工作。我尝试过使用该svn://协议,但它无法识别[server]为已知的主机名。

\n\n

如果我分成cloneinitfetch则这fetch一步失败。

\n\n

我应该补充一点,遗憾的是,像 SmartGit 这样的解决方案不适合我;我在一家拥有超过 1000 名开发人员的公司工作,因此支持一名开发人员的成本将是天文数字。

\n\n
\n\n

SVN.pm:148从我研究的其他地方读取my $ra = …

svn git git-svn git-clone

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

有没有办法确定我的本地克隆是否是某个 github 存储库的分支?

更具体地说,如何判断磁盘上的存储库的来源是否是某个存储库的分支?我认为这应该是一些 API 调用,但我不确定。我可以依赖“remote.upstream.url”吗?

git github git-clone git-fork

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

通过 ssh 克隆 Bitbucket 存储库

如何通过ssh而不是从 Bitbucket 克隆存储库http?我已经git安装在我的本地机器上(Windows)。

git ssh bitbucket git-clone

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