gpt4 book ai didi

git - msysgit 的麻烦

转载 作者:太空狗 更新时间:2023-10-29 12:59:32 25 4
gpt4 key购买 nike

所以我似乎在设置 msysgit 时遇到了一些实际问题。我可以使用 putty 连接到我的 SSH 目录

ssh://user@host:port

而且我有正确的 key 。我也可以通过

使用 plink 来做到这一点

plink -P PORT user@host -i /path/to/private_key.ppk

当我尝试运行(通过 TortiseGIT)或通过 git bash 时

git clone ssh://user@host:port/path/to/myapp.git

我一直收到错误

Initialized empty Git repository in D:/Git/myapp.git
warning: You appear to have cloned an empty repository.
fatal: The remote end hung up unexpectedly

我已经检查了 bot/Git/setup.ini 和 TortiseGIT 并且都使用了

C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe

有谁知道我该如何解决这个问题,因为它让我抓狂!

最佳答案

这里有一些检查 list :

  1. 您尝试连接的服务器是否启用了 ssh?
  2. 服务器上是否安装了 GIT?
  3. 您是否在服务器上设置了 Git 存储库?
  4. 存储库是否具有正确的权限并在服务器的配置中启用了 sharedrepository?
  5. GIT 的 ssh key 是否放在正确的位置?

    建议:

1:因为您可以使用 putty 进行连接,看起来 ssh 设置正常。

2:使用putty并连接到服务器。输入 git --version 你会得到合理的回应吗?如果没有,那么您将需要在服务器上安装它。

3:尝试在服务器上设置一个新的存储库。假设它是一个 *nix 风格的服务器,使用 putty 并连接到服务器并使用以下命令创建一个新的存储库,假设您有一个目录/home/source_code。 echo 行只是生成了一个包含少量文本的文件,因此我们可以从一些东西开始。

cd /home/source_code
mkdir test_repo
cd /home/source_code/test_repo
echo "first file" > t.txt
git init
git add .
git commit -m "Initial Import"

现在我们有了一个包含一个 t.txt 文件的存储库。作为一条规则,你永远不应该推送到包含对工作副本的更改的存储库。在服务器上有一个存储库的目的是让人们可以一直向其中推送。我们制作了一个“裸”克隆,它只是 git 数据库,这样就不可能有任何工作副本更改。我们将使用这个“裸”克隆作为中央 git 存储库。

cd /home/source_code
git clone --bare test_repo/ test_repo.git

您现在可以删除我们设置的临时存储库。

cd /home/source_code/
rm -rf test_repo

在您的本地计算机上再次尝试克隆

git clone ssh://user@host.com:port/home/source_code/test_repo.git

4:权限:这不会导致克隆、获取或 pull 出问题,除非您为存储库选择了一个没有读取权限的位置。如果您在推回时遇到权限被拒绝的错误,请参阅 Permissions correction

5:为 GIT 设置公钥/私钥:

  1. 用putty连接到服务器
  2. 为您的 ~/.ssh 文件夹设置权限:chmod 700 .ssh
  3. 在您的 ~/.ssh/authorized_keys 上设置权限:chmod 600 authorized_keys
  4. 生成 key ssh-keygen -t dsa
  5. 接受它要使用的文件名
  6. 不要输入密码(直接输入)。稍后您将需要使用密码重做此操作。
  7. 将公钥添加到 authorized_keys 文件:cat id_dsa.pub >> .ssh/authorized_keys
  8. 编辑/etc/ssh/ssh_config 并添加行 PubkeyAuthentication yes
  9. 重启 ssh 守护进程 sudo/etc/init.d/ssh restart
  10. id_dsaid_dsa.pub 从服务器复制到本地硬盘(使用 winscp 或 sftp 或类似工具)c:\users\userName\.ssh目录(这是针对 vista 的,其他版本的 windows 的位置会有所不同)
  11. 将 tortoise git 设置为指向 C:\Program Files\Git\bin\ssh.exe(不是 putty)

命令行 git 和 tortoise git 都应该设置为可以工作。在本地机器上再次尝试克隆。

git clone ssh://user@host.com:port/home/source_code/test_repo.git

您现在可能想要使用密码重复设置 key ....

关于git - msysgit 的麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1497932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com