xyl*_*lar 9 linux windows git ssh
我已经尝试过如何设置你自己的私有git-server-linux和private-remote-git-repositories-ubuntu-linode,但我仍然遇到问题.
我的本地环境是windows和我的远程linux.我有一些问题:
ssh myuser@server.com mkdir .ssh
和scp ~/.ssh/id_rsa.pub myuser@server.com:.ssh/authorized_keys
msysGit-netinstall-1.7.4-preview20110204.exe
从http://code.google.com/p/msysgit/downloads/list安装的我尝试跳过制作git用户和公钥,在远程计算机上创建了存储库但是当我git remote add origin ssh://[username]@[domain/ip/hostname]/srv/git/[project-name]
以root用户身份尝试时它说:fatal: Not a git repository (or any of the parent directories): .git
Cer*_*lla 18
我不确定这应该在这里,还是最好迁移到不同的网站,但是因为我可能会帮助我继续回答.
我只是浏览了你链接的文章.看起来他们都讨论通过ssh访问git服务器,你提到了,所以这就是我要关注的.
首先,在您的服务器上:
您需要在服务器上设置一个帐户,以便您可以登录.这可以是通用git帐户,也可以是您自己的个人帐户.目前我们假设您正在设置它以使用个人帐户.您要做的是创建您的帐户,然后在该帐户可访问的位置(例如,在您的主目录中),创建git存储库.
mkdir myrepo.git
cd myrepo.git
git --bare init --shared=all
Run Code Online (Sandbox Code Playgroud)
所以现在你在服务器上有一个git存储库.根据您使用的git客户端,您可能不需要立即处理密钥.如果在服务器上配置了SSH以允许密码登录,则可以在需要与服务器交互时连接并输入密码.如果要设置密钥,则需要执行的操作是生成ssh公钥.我不知道如何在Windows中如何做到这一点,但在linux中你会做类似的事情:
ssh-keygen -t rsa -b 1024
Run Code Online (Sandbox Code Playgroud)
该命令将生成两个文件"id_rsa"和"id_rsa.pub"; 您使用的任何工具也应生成两个文件,一个公钥和一个私钥.它们可能有不同的名称,但现在假设"id_rsa.pub"是您的公钥文件的名称.
您想将公钥复制到服务器,您可以使用scp,ftp,或者只是使用thumbdrive将其移动.无论哪种方式,一旦您将其送到服务器上,并且您的用户可以访问它,请以服务器上的用户身份登录.您希望将公钥添加到"authorized_hosts"文件中,因此在登录服务器上的帐户后,请执行以下操作:
cd
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_hosts
rm id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
现在,您需要从工作站配置ssh客户端以使用您生成的私钥.同样,我不知道如何在Windows上执行此操作,它可能会根据您使用的ssh客户端而有所不同,因此您需要在其他地方获取该信息.
接下来,您需要创建本地存储库,添加一些文件并进行提交.请注意,您无法克隆您已创建的远程存储库,因为其中没有任何内容.在本地进行一些提交后,需要在存储库中设置远程服务器.
如果您使用的是git命令行工具,则可以运行:
git remote add origin user@yourserver:myrepo.git
Run Code Online (Sandbox Code Playgroud)
如果将存储库放在主目录以外的其他位置,请使用完整路径:
git remote add origin user@yourserver:/path/to/repo.git
Run Code Online (Sandbox Code Playgroud)
请注意,您需要".git",因为您的目录名称中包含".git"作为名称的一部分.
如果您使用的是GUI工具,那么只需编辑存储库的配置文件即可.这将位于".git/config"下的存储库的顶层.你想要添加类似的东西
[remote "origin"]
url = user@yourserver:/path/to/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)
现在您的远程配置已经完成,并且您在本地进行了一些提交,您可以将主分支推送到服务器.如果您正在使用命令行,请使用:
git push origin master
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在处理不同的分支:
git push origin mybranch
Run Code Online (Sandbox Code Playgroud)
如果您正在使用GUI前端获取,那么您将需要查找该工具的文档以了解如何推送.
xyl*_*lar -2
ssh-keygen -C "git@example.com" -t rsa
。使用以下命令将公钥复制到服务器,nano /home/git/.ssh/authorized_keys
嘿 presto!Git-1.7.4-preview20110204.exe
只有 13MB,来自http://code.google.com/p/msysgit/downloads/list?can=3