这是我的情况:我有两个私人存储库。
目前,我通过克隆仅为其中一个添加了一个遥控器。
$ git remote -v
origin git@github.com:syra37fGIT/temp.git (fetch)
origin git@github.com:syra37fGIT/temp.git (push)
Run Code Online (Sandbox Code Playgroud)
我认为 ssh 配置正确,因为:
我生成了私钥(id_rsa)和公钥(id_rsa.pub)
$ ls -al ~/.ssh
total 28
drwxr-xr-x 1 Pietro 197121 0 Mar 5 00:18 ./
drwxr-xr-x 1 Pietro 197121 0 Mar 17 09:19 ../
-rw-r--r-- 1 Pietro 197121 3389 Mar 5 00:18 id_rsa
-rw-r--r-- 1 Pietro 197121 747 Mar 5 00:18 id_rsa.pub
-rw-r--r-- 1 Pietro 197121 2790 Mar 5 00:29 known_hosts
Run Code Online (Sandbox Code Playgroud)
公钥已正确设置到我的 github 帐户个人设置/SSH 和 GPG 密钥中
私钥似乎也已正确注册 …
为了管理纱线工作区,我将相关子文件夹复制到临时文件夹中,并将它们推送到各自的 git 存储库中
为了设置这些存储库,我正在使用git clone,它会下载所有内容并设置源和远程配置(然后复制文件)
我可以跳过存储库文件夹的下载吗?
这行得通吗?
git clone --filter=blob:none --no-checkout <repo>
Run Code Online (Sandbox Code Playgroud)
编辑
通常的方法是(正如下面的 @edd34 和 @pallgeuer 所说) withgit init和remote add origin,但上面的git clone只有一行
-> 有什么区别?这种方法能取得什么成果?如果不正确,有什么方法可以得到相同的结果(假设远程已经存在)git clone?
我正在尝试使用防火墙之外的虚拟机通过跳转主机进行代理,以访问 github。
git clone https://github.com/<user>/<repo>在虚拟机上工作。
我在 Mac 笔记本电脑的 .ssh/config 上将跳转主机设置为:
Host vm-proxy
HostName <vm-ip_address>
User centos
IdentityFile ~/.ssh/id.pem
Host githubproxy
Hostname github.com
ProxyJump vm-proxy
Run Code Online (Sandbox Code Playgroud)
但从笔记本电脑克隆失败:
$ git clone https://githubproxy/<user>/<repo>
Cloning into '<repo>'...
fatal: unable to access 'https://githubproxy/<user>/<repo>/': error:1400410B:SSL routines:CONNECT_CR_SRVR_HELLO:wrong version number
Run Code Online (Sandbox Code Playgroud)
版本:
MacOs: Catalina 10.15.6
git on laptop: 2.24.3 (Apple Git-128)
git on VM: 1.8.3.1
Run Code Online (Sandbox Code Playgroud) 我是 Linux 新手,刚刚安装了 Lubuntu 并遇到了问题 - 当我尝试从公司的 git 克隆我的远程工作存储库时:
$ sudo git clone https://path/to/repo.git
Run Code Online (Sandbox Code Playgroud)
我不断收到错误:
Cloning into 'repo'...
fatal: unable to access 'https://path/to/repo.git/': server certificate verification failed. CAfile: none CRLfile: none
Run Code Online (Sandbox Code Playgroud)
我知道它提到了证书,但我没有。之前,我在 Windows 上工作,并且能够简单地 git 克隆这个存储库,而无需任何证书。
我正在尝试克隆存储库。我进入 Bitbucket 上的存储库,单击“克隆”,将其设置为 HTTPS,然后复制它提供给我的文本。我进入 VS Code,单击左侧的分支,然后单击克隆。我插入命令,它要求我输入密码,然后我插入我的 Bitbucket 密码。输入密码后出现错误。
错误如下:
“Git:远程:您需要使用有效的应用程序密码进行身份验证。您可以从您的帐户创建应用程序密码,网址为https://bitbucket.org/account/admin/app-passwords”
我使用的是 2011 年的 Mac,所以有些功能没有更新,但不到一个月前就可以使用了。
我可以从我的工作机器ssh到我的家用机器
这有效
工作$> ssh -x -Y myname@homemachine.dydns.org
现在,如果我想将我的工作机器上的git repo克隆到我的家用机器上.我发出命令
工作$> git clone~/my_new_work_git_repo myname@homemachine.dydns.org:/ home/myname
但最终会创建一个名为"myname@homemachine.dydns.org"的目录,其子目录为"home",然后是mY工作机上的"myname".无论我尝试使用什么URL方案ssh://或rsync:// repo都会克隆到我本地工作机器上这个愚蠢命名的目录
我究竟做错了什么.我阅读了几个似乎相关的问题,但无法弄清楚为什么会失败
我给我的电脑做了一个git克隆.之后我意识到我将项目克隆到了错误的目录.我现在要做的是从我的计算机中删除项目文件夹,并将git克隆到另一个目录.
如果我只是删除该文件夹,它会影响远程存储库吗?
还有其他更好的办法吗?
我为非技术客户工作,他们需要获得我在合同结束时所做工作的副本,以便他们可以选择将其交给不同的开发人员.
问题是它们是非技术性的,所以我认为我不能指望他们下载Git GUI并将repo克隆到他们的机器上.事实上,我目前甚至没有在主机以外的遥控器上拥有回购.
我想我有三种选择
存储库不是很大,所以尺寸不是问题.但是现在,我倾向于发送包含.git文件夹的存档,以避免拥有一个在线存储库(似乎未来的管理员负担将来到我身边).有没有一种标准的处理方式?
假设DeveloperA在git存储库(在他的计算机上本地)上运行,并且还有一些文件在下一次提交的索引中暂存.如果DeveloperB然后通过"git clone"命令克隆此存储库,他是否还将从developerA的存储库中接收暂存区域的内容?
我正在尝试克隆tensorflow / models回购。我通过ssh连接到远程计算机。我尝试了许多解决该问题的建议,但没有一个对我有用。
git clone --recursive https://github.com/tensorflow/models.git
Cloning into 'models'...
remote: Counting objects: 1670, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 1670 (delta 10), reused 0 (delta 0), pack-reused 1642
Receiving objects: 100% (1670/1670), 49.23 MiB | 8.44 MiB/s, done.
Resolving deltas: 100% (670/670), done.
fatal: fsync error on '/home/OFFICE/utk/projects/syntaxnet/models/.git/objects/pack/tmp_pack_2w67RB': Input/output error
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)