Win下Git关联Gitbub出现的问题主要是与连接方式有关,大部分踩坑的原因也都是这块,本文会一步一步地总结步骤并分析可能出现的问题及其解决方案。
ssh-keygen -t rsa -C "[email protected]"
[email protected]换成自己的邮箱
一路enter即可
可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。接下来使用使用vim辅助公钥的内容复制到自己的Gitbub ssh Key中
vi ~/.ssh/id_ras.pub
ssh -T [email protected]
测试是否配置好SSH
如果看到
Hi lion6cheng! You've successfully authenticated, but GitHub does not provide shell access.
说明配置完成
首先在自己的项目根目录使用
git init
完成初始化
添加文件并提交:
git add -A
这个- A会提交目录下全部文件们,平时使用更建议单独add
add 会把文件、变动 添加到缓存区,之后我们还需要commit才行 这里默认commit到master目录。但是在commit之前要先告诉Git你的身份
git config --global user.email "[email protected]"
git config --global user.name "xxx"
记得替换自己的信息
然后就可以提交了
git commit -m 'init'
首先在Github上创建一个新的项目,例如MADDPG-torch
这要求将本地的公钥上传到gitlab中,如下图:
全面我们已经配置好ssh,接下来使用关联
git remote add origin [email protected]:lion6cheng/MADDPG-torch.git
git remote add origin https://github.com/lion6cheng/MADDPG-torch.git
之后需要手动登录自己的github确认身份
git remote -v
origin [email protected]:unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin [email protected]:unlimitbladeworks/Data-Struts-Learning.git (push)
显示上面的内容
如果需要重新配置的话,需要移除掉远程仓库的配置
$ git remote rm origin
完事以上切换操作,就可以开始push了
$ git push origin master -u
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
问题一般都在这一步出现比如
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
又或者
fatal: unable to access 'https://github.com/lion6cheng/MADDPG-torch.git/': OpenSSL SSL_read: Connection was reset, errno 10054
或许
fatal: unable to access 'https://github.com/lion6cheng/MADDPG-torch.git/': Failed to connect to github.com port 443: Timed out
解决方案
$ git config --global http.proxy 127.0.0.1:1080
$ git config --local http.proxy 127.0.0.1:1080
git config --global http.proxy 127.0.0.1:1080 为全局的 git 项目都设置代理
git config --local http.proxy 127.0.0.1:1080 为某个 git 项目单独设置代理
修改git config
vi ~/.ssh/config
将下面内容粘贴进去
Host github.com
Hostname ssh.github.com
Port 443
:wq保存
然后从新push
$ git push origin master -u
可以在自己的github主页上看到
因为美国黑人弗洛伊德问题,认为master是黑人歧视运动的敏感词汇,现在github上的主分支用main取代了master。无语ing
有问题欢迎留言评论我都会积极回答