我第一次尝试使用git,并尝试按照github提供的说明进行操作。但是,我似乎在最后一步失败了。 github提供了以下步骤:
Global setup:
Download and install Git
git config --global user.name "Your Name"
git config --global user.email
Next steps:
mkdir SomeFolder
cd SomeFolder
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:username/SomeFolder.git
git push origin master
但是,当运行最后一个命令时,git push origin master,我得到了
“ssh_exchange_identification: 连接由远程主机关闭。 致命的:远程端挂了 出乎意料“
为什么会这样?
答案 0 :(得分:7)
GitHub高度安全并遵循ssh-rsa 所以我们需要为我们的连接设置ssh公钥,让github知道它。
接受终端和用户(不是root用户,通常很多人都习惯输入sudo su作为终端的第一个commang,这次避免使用) 型
ssh-keygen -t rsa -C "yourmailid@gmail.com"
下面, -t - >告诉哪个加密 -C - >尝试使用与你给出的github相同的邮件ID(为了便于记忆)
现在你将获得两个文件 〜/ .ssh /
中的id_rsa和id_rsa.pub现在复制文件id_rsa.pub中的整个内容,而不更改文件内容。
现在回到你的github帐户。 转到帐户设置>>> SSH公钥 添加新密钥 并将您复制的内容粘贴到“key”字段中并保存(给出您选择的标题)。
现在github知道要处理来自你系统的请求。
现在尝试
$ssh git@github.com
好呀!现在我们将在计算机上设置存储库本地副本并反映远程系统的更改
制作目录(作为用户,而不是root)
mkdir MyProject
cd MyProject
git init
(在那里初始化一个空的git存储库,查看隐藏文件夹.git /那里。) 在MyProjects中创建文件后,如果您想将其添加到github的存储库中,请执行
git add
现在运行状态并检查接下来要提交的文件,
git status
git commit -m "Your comment about this commit"
(这会更新本地存储库中的.git /文件夹) 现在我们告诉git有关要更新的远程存储库
git remote add origin git@github.com:username/ProjectName
(你记得我们从这里得到了这个网址,你的克隆网址)
git push origin master
希望它对你有用。
答案 1 :(得分:0)
您计算机上的SSH密钥与您在GitHub上记录的密钥不匹配。型
cat ~/.ssh/id_rsa.pub | pbcopy
将您的公钥复制到clibboard。然后转到GitHub帐户设置并将其添加为新密钥。
答案 2 :(得分:0)
您是否使用ssh-add添加了RSA密钥?
ssh-add your-rsa-key
答案 3 :(得分:0)
有时你必须跑:
git pull
小心!在运行此命令之前备份您的repo文件夹。
答案 4 :(得分:0)
有时,您可以通过再次运行push命令重新初始化与github的连接:
git push -u origin master
似乎有效!