Git-for-windows连接github

安装git

地址:https://git-scm.com/book/zh-tw/v1/開始-安裝Git

git配置

  1. 初始化git
    使用git先要在本地创建一个项目,用于存放代码。在git终端进入项目地址,初始化git。

     $ cd Desktop/project
     $ git init
    
  2. 创建ssh key

     $ ssh-keygen -t rsa -b 4096 -C "[email protected]"
    

询问你Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]直接按回车使用默认地址存放ssh key,也可以自己输入地址。

	Enter passphrase (empty for no passphrase): [Type a passphrase]
	Enter same passphrase again: [Type passphrase again]

这里提示你输入密码
3. 添加ssh key到ssh-agent
如果你遇到Permission denied (publickey)错误,可能是因为这一步没有完成。

	$ eval $(ssh-agent -s)
	Agent pid 59566
    $ ssh-add ~/.ssh/id_rsa
  1. 在github添加ssh
    在终端复制ssh key

     $ clip < ~/.ssh/id_rsa.pub
    

在github个人主页点击“setting–SSH and GPG keys–New SSH key”,点击添加。
5. 测试连接

	ssh -T [email protected]

看到

	The authenticity of host 'github.com (192.30.252.1)' can't be established.
	RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
	Are you sure you want to continue connecting (yes/no)?

输入yes,然后会看到

	Hi username! You've successfully authenticated, but GitHub does not provide shell access.

表示连接成功。

  1. 设置username和email
    在把本项目上传到github之前还需要分别输入设置username和email,因为github每次commit都会记录他们。所以分别输入如下命令:

     $ git config --global user.name "your name"
     $ git config --global user.email "[email protected]"
    
  2. 添加远程地址
    在与github连接成功后,如何才能让相应的项目上传到对应的仓库呢?这里就需要添加远程地址,从而让我们的本地项目顺利到达对应的仓库。
    打开终端,输入

     $ git remote add origin [email protected]:yourName/yourRepo.git
    

后面的yourName和yourRepo分别是你的github的用户名和刚才新建的仓库名。

上传项目

进入项目,在终端运行

$ git status

查看要上传的文件是否正确,然后将项目下的所有文件添加到git跟踪范围。

$ git add .

记录此次提交并上传

$ git commit -m 'my project push'
$ git push origin master

这里的master指的是主分支名,如果是其他分支,则填写相应的分支名。

这样我们就将我们的项目上传到github仓库。

常见错误

  • Permission denied (publickey)
    上传代码时出现这个错误,解决办法是直接重新生成一下公钥,然后重新更新就行,其中密码没必要设置

      $ ssh-keygen -t rsa
    

其他情况参考https://help.github.com/articles/error-permission-denied-publickey/

  • error setting certificate verify locations:
    CAfile: D:/Program Files/Git/mingw64/libexec/ssl/certs/ca-bundle.crt
    CApath: none
    这是由于HTTPS需要认证证书,在终端输入
    $ git config --system http.sslcainfo “D:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt”

参考资料:
https://segmentfault.com/a/1190000007466317
https://help.github.com/articles/connecting-to-github-with-ssh/

你可能感兴趣的:(其他技术)