首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msysgit问题

msysgit问题
EN

Stack Overflow用户
提问于 2009-09-30 12:56:24
回答 4查看 10.8K关注 0票数 7

所以我似乎有一些真正的问题来建立msysgit。我可以通过putty连接到我的SSH目录

ssh://user@host:port

我有正确的钥匙。我也可以使用plink通过

plink -P端口用户@host -i /path/to/private_key.ppk

当我试图运行(通过TortiseGIT)或通过git

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

我一直在犯错误

初始化D:/ Git /myapp.git中的空Git存储库 警告:您似乎已经克隆了一个空存储库。 致命:远程终端意外挂起。

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

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

有谁知道我如何解决这个问题,因为它使我发疯!

EN

回答 4

Stack Overflow用户

发布于 2009-10-04 06:28:59

下面是一个检查列表:

  1. 在您要连接的服务器上是否启用ssh?
  2. GIT是否安装在服务器上?
  3. 服务器上有Git存储库设置吗?
  4. 存储库是否在服务器上的配置中启用了正确的权限并启用了共享库?
  5. 你把ssh钥匙放在合适的位置了吗? Suggestions:

他说:因为你可以使用putty连接,看起来ssh是安装好的。

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

3:尝试在服务器上设置一个新的存储库。假设a *nix样式的服务器使用putty并连接到服务器,并使用以下命令创建一个新的存储库,前提是您有一个目录/home/source_code。回显行只生成一个包含少量文本的文件,所以我们首先要做的是。

代码语言:javascript
复制
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存储库。

代码语言:javascript
复制
cd /home/source_code
git clone --bare test_repo/ test_repo.git

现在,您可以摆脱我们设置的临时存储库。

代码语言:javascript
复制
cd /home/source_code/
rm -rf test_repo

在你的本地计算机上再试一次克隆

代码语言:javascript
复制
git clone ssh://user@host.com:port/home/source_code/test_repo.git

4:权限:除非您为没有读取访问权限的存储库选择了一个位置,否则这不会导致克隆、获取或拖动方面的问题。如果在回推时获得拒绝权限的错误,请参考权限校正

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

  1. 用putty连接到服务器
  2. 对您的~/..ssh文件夹设置权限:chmod 700 .ssh
  3. 对您的~/..ssh/授权键设置权限:chmod 600 authorized_keys
  4. 生成密钥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都应该设置好才能工作。尝试在本地机器上再次克隆。

代码语言:javascript
复制
git clone ssh://user@host.com:port/home/source_code/test_repo.git

现在你可能想去重复用密码设置密钥.

票数 9
EN

Stack Overflow用户

发布于 2009-09-30 13:01:42

您需要安装Pageant并将密钥添加到其中。

另外,还要检查您的GIT_SSH环境变量是否设置为使用plink。

票数 1
EN

Stack Overflow用户

发布于 2009-09-30 14:09:28

远程回购中是否有任何内容(即至少一次提交)?

git说:“警告:您似乎已经克隆了一个空存储库”

当您想要插入空的远程回购时,您必须使用:

代码语言:javascript
复制
git push URL master
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1497932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档