github是一个你可以在服务器上创建自己的库。比如说你在公司开发一个项目,当然不可能一个人去敲代码了,那么多人去配合的话每个人都在这个项目中增删改,怎么去控制自己本地上的代码能及时更新到同事的代码,并且自己的代码能在同事的电脑上去体现,每个公司基本上都会去使用版本控制工具,目前来说使用较为广泛的就是svn及git两种版本控制工具。而github是一个全球共享的仓库,也是需要配合git去使用的。也就是说,你可以在上面给全球的人去分享你的代码。同时,你也可以看到很多大牛在上面分享的开源代码,甚至很多广泛使用的框架源码。
那今天记录下怎么上传分享自己的项目,注册github很简单,网上的教程也很完善,值得注意的是github是全英文,但界面看着还是很舒服的。
当你注册好github,你的首页应该是这个样子的,首先我们需要点左上角的 new 按钮,去新建一个仓库。
Repository name是你新建仓库的名字,前面的Owner是你github的UserName,下面的Description是你这个仓库的描述,一般是你的项目简述,具体的是放在项目中的readme中。
在新建完仓库之后,我们想要把我们电脑上的项目去放在github上,此时我们就需要git这个版本控制工具去连接我们的电脑和github,大家去下载个Git Bash就ok了,教程的话这里不说明了,挺简单的。
在成功安装后,鼠标在空白地方右击,成功显示。
打开git后的界面是这样的,新手看起来可能会很难受,但我想那些习惯用git的大佬来说,看到这个界面应该是享受。
想要让你的电脑和github连接,需要配置ssh密钥,也就是类似一个密码的东西,只让你的本机和github仓库通讯。
首先在git上输入:ssh-keygen -t rsa-C "email@youremail.com"
命令中双引号中间是你在github上注册所使用的的邮箱。
在初次输入这个命令时,有时候可能会报错,具体是啥来着我忘了,应该是提示ssh-keygen命令不可用还是啥,时间久了没太记住,不过应该是配置下路径就可以了,如果是报ssh-keygen******类似的错误。可以尝试输入
export PATH=/usr/bin:$PATH
在成功输入命令后,首先会提示你配置密钥保存的地方
Enter file in which to save the key (/c/Users/sunyan/.ssh/id_rsa):
括号里是默认的地址,如果嫌麻烦可以直接回车,接着会提示你输入密码,同样也可以不设置直接回车
若出现以下情况,则说明你的密钥已经生成成功了。
然后到刚才保存密钥的位置,找到id_rsa.pub,使用记事本打开,将里面所有东西都复制出来。
然后我们就到github中。
在你头像右上角下拉框中点击Setting。
然后右边导航栏选择,SSH and GPG keys
右上角点击新建SSH key
然后将你刚才复制出来的密钥粘贴在这里,注意要取个title,也就是密钥的名字。
在成功添加完密钥之后,github这边就配置完了,我们回到git上,看本机能否成功通讯到github。
$ ssh -T git@github.com
注意,这里的-T 是大写的,不是小写,后面的地址也是这个,不再是你的github邮箱。
初次通讯会有个提示,是否continue,照常输入yes就可以了。
这就是成功通讯到github的提示,如果不能成功通讯的话,一般来说可能是密钥有问题,可以使用命令查看密钥是否一致。
$ cat ~/.ssh/id_rsa.pub
剩下还需要配置下 简单的。
yourName设置你在github上的用户名,email设置你在github上的邮箱。
$ git config --global user.name "yourName"
$ git config --global user.email "email@yourEmail.com"
接下来我们就可以上传我们的项目了,逻辑是,先将github上我们刚才新建立的库克隆在我们本地上,也就是我们电脑上的克隆的库和github上的仓库是同步的,你在这个库的修改内容也可以通过git看到修改历史,如果说你给了其他人修改权限,你也能将代码拉取到本地库。
如果说现在你想在这个库上传代码了,那么你可以将你开发的东西直接复制在本地库,或者说直接在这个本地库中进行开发。
首先需要在本地提交代码。
在本地库当前文件夹右击打开git,或在git中定位到本地库,使用命令提交,当然git也有图形化的界面,比如sourceTree和小乌龟之类的。我们这里先说命令行。
$ git add .
这条命令是将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录,意味着你需要提交这些代码到本地仓库。
$ git commit -m ‘注释’
commit命令是将刚才提交到暂存区的代码提交到本地仓库,引号中间的注释是你本次提交内容的描述。接下来注意,如果是你一个人开发的话,一般就可以直接push到远程仓库了,但如果是多人联合开发一个项目的话,在commit完之后,我们通常是需要先pull拉取远程仓库的代码的。
举个例子,如果你的远程仓库中项目里有 A.java这个类,你现在在本地在A.java里添加了几行代码并修改了一些东西,但是你的同事也在修改A.java,并且已经提交到了远程仓库,而你的修改是在你同事提交之前的A.java上操作的,不是你同事修改后的A.java,那么如果你直接push的话,可能会将同事修改的内容覆盖掉,需要先把当前最新的A.java版本拉取到你的本地,解决冲突,也就是将同事的代码和你的修改合并,然后统一再push。
$ git pull origin master
$ git push origin master
注意,在输入上述命令时,可能会提示让你登录你的github,照常输入你的github账号和密码就可以了。
master是项目的分支,master是根,如果你的项目没有拉取其他分支的话,一般是提交到这个分支的。
在成功push后,再刷新你的github,就能看到最新提交的内容了。