所以我似乎有一些设置msysgit的实际问题.我可以通过putty连接到我的SSH目录
SSH://用户名@主机:端口
我有正确的钥匙.我也可以通过plink使用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
我只是不断收到错误
D:/Git/myapp.git中初始化的空Git存储库
警告:您似乎克隆了一个空存储库.
致命:远程端意外挂断
我检查了bot /Git/setup.ini和TortiseGIT,两者都使用了
C:\ Program Files\TortoiseSVN\bin\TortoisePlink.exe
有谁知道如何解决这个问题,因为它让我疯了!
这是一个检查清单:
你有适合GIT的ssh键吗?
建议:
1:既然你可以使用putty连接,看起来像ssh设置好了.
2:使用putty并连接到服务器.输入 git --version您是否得到了合理的回复?如果没有,那么您将需要在服务器上安装它.
3:尝试在服务器上设置新的存储库.假设它有一个*nix样式的服务器使用putty并连接到服务器并使用以下命令创建一个新的存储库,假设你有一个目录/ home/source_code.回声线只是生成一个带有一点文字的文件,所以我们有一些东西可以开始.
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"
Run Code Online (Sandbox Code Playgroud)
所以现在我们有一个存储库,里面有一个t.txt文件.作为一项规则,您永远不应该进入包含工作副本更改的存储库.在服务器上拥有一个存储库的目的是让人们可以随时进入它.我们制作一个"裸"克隆,它只是git数据库,这样就不会有任何工作副本的变化.这是我们将用作中央git存储库的"裸"克隆.
cd /home/source_code
git clone --bare test_repo/ test_repo.git
Run Code Online (Sandbox Code Playgroud)
您现在可以摆脱我们设置的临时存储库.
cd /home/source_code/
rm -rf test_repo
Run Code Online (Sandbox Code Playgroud)
在本地计算机上再次尝试克隆
git clone ssh://user@host.com:port/home/source_code/test_repo.git
Run Code Online (Sandbox Code Playgroud)
4:权限:除非您为没有读取权限的存储库选择了一个位置,否则这不会导致克隆,提取或拉取问题.如果在推回时收到Permission denied错误,请参阅权限更正
5:为GIT设置公钥/私钥:
chmod 700 .sshchmod 600 authorized_keysssh-keygen -t dsacat id_dsa.pub >> .ssh/authorized_keysPubkeyAuthentication yessudo /etc/init.d/ssh restartid_dsa并id_dsa.pub从服务器复制到本地硬盘(使用winscp或sftp或某些此类工具)c:\ users\userName\.ssh目录(这对于vista来说,其他版本的windows的位置会有所不同)命令行git和tortoise git都应该设置为可以工作.尝试在本地计算机上再次克隆.
git clone ssh://user@host.com:port/home/source_code/test_repo.git
Run Code Online (Sandbox Code Playgroud)
您现在可能想要重复使用密码来设置密钥....
| 归档时间: |
|
| 查看次数: |
10777 次 |
| 最近记录: |