去年就用github了,但是毕竟也只是在上面搜索一些工作的难点和自我学习,自己都没有贡献过代码,觉得确实很low,现在有了自己的贡献代码,所以想上传到自己的github,毕竟GitHub是全世界最好的交流地盘。但是刚上传就遇到了一些麻烦,但是都解决了,下面为大家介绍下如何用git上传本地代码到Github:
GIT安装就不介绍了,太简单了。
一:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。
983542-20180323225258348-378120739.png
二:通过命令git init把这个文件夹变成Git可管理的仓库
983542-20180323225536990-102215379.png
三:这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以通过git status来查看你当前的状态),然后通过git add把项目添加到仓库(或git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)。
在这个过程中你其实可以一直使用git status来查看你当前的状态。
image.png
四:然后我们通过git add .把刚才复制过来的项目全部添加到仓库上。
image.png
这个过程你可以一直都用git status 查看你的状态
image.png
五:用git commit把项目提交到仓库。
image.png
-m后面引号里面是本次提交的注释内容,这个可以不写,但最好写上,不然会报错。
好了,我们本地Git仓库这边的工作做完了,下面就到了连接远程仓库(也就是连接Github
六:创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
 七:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面     八:在Github上创建一个Git仓库。 你可以直接点New repository来创建,比如我创建了一个xcx_waimai的仓库(因为我里面已经有了一个xcx_waimai的仓库,所以不能再创建xcx_waimai仓库)。  九:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地xcx_waimai仓库的命令行输入:](https://math.jianshu.com/math?formula=ssh-keygen%20-t%20rsa%20-C%20%22youremail%40example.com%22%20%E7%84%B6%E5%90%8E%E4%B8%80%E8%B7%AF%E5%9B%9E%E8%BD%A6%E3%80%82%E8%BF%99%E6%97%B6%E4%BD%A0%E5%B0%B1%E4%BC%9A%E5%9C%A8%E7%94%A8%E6%88%B7%E4%B8%8B%E7%9A%84.ssh%E7%9B%AE%E5%BD%95%E9%87%8C%E6%89%BE%E5%88%B0id_rsa%E5%92%8Cid_rsa.pub%E8%BF%99%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-1911ae82613dff78.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20%E4%B8%83%EF%BC%9A%E7%99%BB%E5%BD%95Github%2C%E6%89%BE%E5%88%B0%E5%8F%B3%E4%B8%8A%E8%A7%92%E7%9A%84%E5%9B%BE%E6%A0%87%EF%BC%8C%E6%89%93%E5%BC%80%E7%82%B9%E8%BF%9B%E9%87%8C%E9%9D%A2%E7%9A%84Settings%EF%BC%8C%E5%86%8D%E9%80%89%E4%B8%AD%E9%87%8C%E9%9D%A2%E7%9A%84SSH%20and%20GPG%20KEYS%EF%BC%8C%E7%82%B9%E5%87%BB%E5%8F%B3%E4%B8%8A%E8%A7%92%E7%9A%84New%20SSH%20key%EF%BC%8C%E7%84%B6%E5%90%8ETitle%E9%87%8C%E9%9D%A2%E9%9A%8F%E4%BE%BF%E5%A1%AB%EF%BC%8C%E5%86%8D%E6%8A%8A%E5%88%9A%E6%89%8Did_rsa.pub%E9%87%8C%E9%9D%A2%E7%9A%84%E5%86%85%E5%AE%B9%E5%A4%8D%E5%88%B6%E5%88%B0Title%E4%B8%8B%E9%9D%A2%E7%9A%84Key%E5%86%85%E5%AE%B9%E6%A1%86%E9%87%8C%E9%9D%A2%EF%BC%8C%E6%9C%80%E5%90%8E%E7%82%B9%E5%87%BBAdd%20SSH%20key%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%B0%B1%E5%AE%8C%E6%88%90%E4%BA%86SSH%20Key%E7%9A%84%E5%8A%A0%E5%AF%86%E3%80%82%E5%85%B7%E4%BD%93%E6%AD%A5%E9%AA%A4%E4%B9%9F%E5%8F%AF%E7%9C%8B%E4%B8%8B%E9%9D%A2%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-22b4ab3c30193bb2.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-4c517272d0108686.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-cfad3932204b6684.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-35b8a23975bd7044.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20%E5%85%AB%EF%BC%9A%E5%9C%A8Github%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AAGit%E4%BB%93%E5%BA%93%E3%80%82%20%E4%BD%A0%E5%8F%AF%E4%BB%A5%E7%9B%B4%E6%8E%A5%E7%82%B9New%20repository%E6%9D%A5%E5%88%9B%E5%BB%BA%EF%BC%8C%E6%AF%94%E5%A6%82%E6%88%91%E5%88%9B%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AAxcx_waimai%E7%9A%84%E4%BB%93%E5%BA%93%EF%BC%88%E5%9B%A0%E4%B8%BA%E6%88%91%E9%87%8C%E9%9D%A2%E5%B7%B2%E7%BB%8F%E6%9C%89%E4%BA%86%E4%B8%80%E4%B8%AAxcx_waimai%E7%9A%84%E4%BB%93%E5%BA%93%EF%BC%8C%E6%89%80%E4%BB%A5%E4%B8%8D%E8%83%BD%E5%86%8D%E5%88%9B%E5%BB%BAxcx_waimai%E4%BB%93%E5%BA%93%EF%BC%89%E3%80%82%20!%5Bimage.png%5D(https%3A%2F%2Fupload-images.jianshu.io%2Fupload_images%2F16624271-7da56ef304217dac.png%3FimageMogr2%2Fauto-orient%2Fstrip%257CimageView2%2F2%2Fw%2F1240)%20%E4%B9%9D%EF%BC%9A%E5%9C%A8Github%E4%B8%8A%E5%88%9B%E5%BB%BA%E5%A5%BDGit%E4%BB%93%E5%BA%93%E4%B9%8B%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%92%8C%E6%9C%AC%E5%9C%B0%E4%BB%93%E5%BA%93%E8%BF%9B%E8%A1%8C%E5%85%B3%E8%81%94%E4%BA%86%EF%BC%8C%E6%A0%B9%E6%8D%AE%E5%88%9B%E5%BB%BA%E5%A5%BD%E7%9A%84Git%E4%BB%93%E5%BA%93%E9%A1%B5%E9%9D%A2%E7%9A%84%E6%8F%90%E7%A4%BA%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%9C%AC%E5%9C%B0xcx_waimai%E4%BB%93%E5%BA%93%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%BE%93%E5%85%A5%EF%BC%9A)
十:关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
上传项目的过程可能需要等一段时间,完成之后是这样的:
image.png
之后刷新你的github 上项目就可以看到啦
image.png
另外,这里有个坑需要注意一下,就是在上面第八步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第十步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/yourGitHubName/projectName.git的错。
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下
$ git pull --rebase origin master
总结:其实只需要进行下面几步就能把本地项目上传到Github
1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
3、再通过git commit -m "注释内容"把项目提交到仓库;
4、在Github上设置好SSH密钥后,新建一个远程仓库,通过https://github.com/yourGitHubName/projectName.git将本地仓库和远程仓库进行关联;
5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。