将本地项目上传到Github
前言:注册GitHub有一段时间了,之前有按照教程操作过,不过后来一段时间不用又不熟练了。以至于后期突然使用时出现一些错误,导致本地文件一直提交不了。今天又熟悉了一次,这里做个笔记,以至于后面在忘记可以回顾一下。
使用git上传文件到GitHub需要git客户端以及注册GitHub账号。
- git官网:https://git-scm.com/
- github官网:https://github.com/
下边就直接从上传开始。
第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。
- 你可以直接在桌面右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。
-
现在我通过命令行在桌面新建一个test文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹
创建文件夹过程
![](http://upload-images.jianshu.io/upload_images/8504906-35da2d112efc6d7b.png?imageMogr2/auto-orient/strip|imageView2/2/w/108/format/webp)
第二步:在命令行中输入git init把这个文件夹变成Git可管理的仓库
![](http://upload-images.jianshu.io/upload_images/8504906-2e5733629e927a15.png?imageMogr2/auto-orient/strip|imageView2/2/w/549/format/webp)
这时你会发现test里面多了个.git文件夹,它是Git用来跟踪和管理版本库的,因为它默认是隐藏文件,要是看不到就设置下文件夹和搜索选项。
之后把需要上传到GitHub的文件全部复制到这test这个目录下。
![](http://upload-images.jianshu.io/upload_images/8504906-2ce1534a311572db.png?imageMogr2/auto-orient/strip|imageView2/2/w/492/format/webp)
然后通过git add .(注意这个".",是有空格的,"."代表这个test这个文件夹下的目录全部都提交。你也可以通过git add 文件名 提交指定的文件)把文件添加到缓存区
![](http://upload-images.jianshu.io/upload_images/8504906-e3540d19a426c491.png?imageMogr2/auto-orient/strip|imageView2/2/w/437/format/webp)
或者指定具体文件提交
![](http://upload-images.jianshu.io/upload_images/8504906-1f3a33cc532b3995.png?imageMogr2/auto-orient/strip|imageView2/2/w/436/format/webp)
然后可以通过git status命令,查看下现在的状态,也可以不看,随你
![](http://upload-images.jianshu.io/upload_images/8504906-ff94e649b5e72eb7.png?imageMogr2/auto-orient/strip|imageView2/2/w/429/format/webp)
看到有css,js文件夹的内容都提交上去了。
然后,在使用命令git commit -m "这里面写你的注释" 把文件提交的本地仓库
![](http://upload-images.jianshu.io/upload_images/8504906-a3751ebaa5383f92.png?imageMogr2/auto-orient/strip|imageView2/2/w/442/format/webp)
第三步:下面就到了连接远程仓库(也就是连接Github)
由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:
创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
$ ssh-keygen -t rsa -C "youremail@example.com
然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件
![](http://upload-images.jianshu.io/upload_images/8504906-7af622f0f527774f.png?imageMogr2/auto-orient/strip|imageView2/2/w/638/format/webp)
第四步:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:
![](http://upload-images.jianshu.io/upload_images/8504906-40402170e44523a0.png?imageMogr2/auto-orient/strip|imageView2/2/w/203/format/webp)
![](http://upload-images.jianshu.io/upload_images/8504906-5a8326ca1414cb85.png?imageMogr2/auto-orient/strip|imageView2/2/w/1007/format/webp)
![](http://upload-images.jianshu.io/upload_images/8504906-60522020a0ef8465.png?imageMogr2/auto-orient/strip|imageView2/2/w/1035/format/webp)
上面key默认在C:\Users\Administrator.ssh下的id_rsa.pub文件中,把这个文件中的内容全部复制到上面的key里面就可以了。如下图:
![](http://upload-images.jianshu.io/upload_images/8504906-fb8c6ac93e01eb90.png?imageMogr2/auto-orient/strip|imageView2/2/w/724/format/webp)
第五步:在Github上创建一个Git仓库。
你可以直接点New repository来创建,比如我创建了一个tes2t的仓库。
![](http://upload-images.jianshu.io/upload_images/8504906-955062d1a6fdd128.png?imageMogr2/auto-orient/strip|imageView2/2/w/944/format/webp)
上面我没有默认勾选Initialize this repository with a README,勾选和不勾选创建的结果区别如下:
![](http://upload-images.jianshu.io/upload_images/8504906-9dcbcdc1129cc6b7.png?imageMogr2/auto-orient/strip|imageView2/2/w/1019/format/webp)
下边这个是勾选的
![](http://upload-images.jianshu.io/upload_images/8504906-a7adafedb038ff1b.png?imageMogr2/auto-orient/strip|imageView2/2/w/1069/format/webp)
第六步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地test仓库的命令行输入:
$ git remote add origin git@github.com:smfx1314/test2.git
![](http://upload-images.jianshu.io/upload_images/8504906-a28b5a23cb112f2f.png?imageMogr2/auto-orient/strip|imageView2/2/w/439/format/webp)
第七步:关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
$ git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数。然后进去GitHub test2这个仓库刷新下就会有已经上传的文件夹了。
![](http://upload-images.jianshu.io/upload_images/8504906-ca9e1069a5b24190.png?imageMogr2/auto-orient/strip|imageView2/2/w/1007/format/webp)
如果新建远程仓库不是空的,例如你勾选了 Initialize this repository with a README。那么你通过命令 $ git push -u origin master是会报错的,如下:
![](http://upload-images.jianshu.io/upload_images/8504906-897806a3bbbbf986.png?imageMogr2/auto-orient/strip|imageView2/2/w/551/format/webp)
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
![](http://upload-images.jianshu.io/upload_images/8504906-aeae86d7e53f50e9.png?imageMogr2/auto-orient/strip|imageView2/2/w/565/format/webp)
再输入$ git push origin master。
等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
$ git push origin master。
至此就完成了将本地项目上传到Github的整个过程。
作者:Java成长之路
链接:https://www.jianshu.com/p/8282eced3bf2
著作权归作者所有。