最近看到一些项目总是跳转到github页面,网站我虽然认识,但是很多功能我完全不明白,只知道能够托管代码,于是本着学习的心态花了一天半的时间学习了Git 和 Github 的使用。
首先声明,我仅仅学习一天半的时间做此总结,仍属小白,待日后用多了再继续补充,不过作为学生可能近期还不会有太多接触,公司里团队合作用得较多。
其实类似github的代码托管工具有很多,比如:码云、BitBucket、阿里云 Code …等等
首先介绍下Github网站之中涉及到的名词吧
Repositories : 这个是最最基本的和重要的词了,仓库的意思,你的所有代码都存储在这个里面,当然了你可以有多个Repositories,一般一个工程对应一个Repositories。
star: 就是你看到别人的的项目不错,可以收藏一下,在你的主页会有一个收藏夹,以后可以直接找到。
fork: 复制别人的项目,就是copy了一份自己存着,你可以去修改自己copy的,但不会改动别人的原文件。
Pull request: 如果你fork了别人的项目,并且给他改动了,比如新增了功能,觉得不错,想通知原作者也改动,可以发起pull request,随后原作者就会收到你的通知,最后由原作者来决定是否同意改动。
watch: 关注别人项目,如果别人的这个项目有什么新的改动,都会通知你更新的消息。
lssue: 比如你在看别人的项目时,发现他的代码有漏洞,但是你不打算fork他的项目改动然后通知他,你只想告诉他有漏洞,那么你可以发起一个Issue,描述下漏洞的内容,原作者会收到通知,可以在Issue中跟你交流讨论。
主页: github有三个主页。
1.官网主页,你注册登录后就会进入到这里,别人给你发的通知也会在这里出现,点击绿色按钮new可以创建一个新的代码仓库。
![](https://i-blog.csdnimg.cn/blog_migrate/13e70f47321393e49f12ba6a0afebbc8.png)
2.个人主页,在这里你可以查看个人的所有仓库、设定一些个人信息以及最近提交的状态。
![](https://i-blog.csdnimg.cn/blog_migrate/98b40fc77850143a25852bcd8325a4a4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b02fc2a83e908a5721d0efb4ec5a3920.png)
本文不详细介绍如何操作仓库,而是从整体出发来了解下Github的使用。
通过上面的简单介绍,你已经大概了解了代码在哪里,个人信息在哪里,如何上传自己的代码呢?有以下几种方式:
1.直接在你的网页上上传代码,首先新建一个Repositories,然后就可以通过upload上传你的工程代码了,是不是很简单,如果是你自己用,当然可以这么做,但是github是一个团队合作的代码托管工具,体现在哪呢?如果一个团队都想往一个Repositories中上传自己的代码,就一个github账号是不是很麻烦,想做到这一点就要使用Git,注意不是Github。
Git是一个工具包,通过它任何经过你授权的人都可以向你的github仓库中贡献自己的代码。需要下载安装,国外的服务器下载巨慢,可以使用阿里的开源镜像。
Git下载
2.Git上传代码
3.其他IDE工具上传代码
重点自然是2,3方式上传代码文件。
在你安装完Git之后,右击鼠标会出现Git GUI here和Git Bash here,这两个都可以上传代码,一个是图形化界面,一个是命令行界面,程序员当然是Bash用的多,GUI有时间可以了解下。
在使用命令上传代码时,也有两种区别不太大的方式
1.配置SSH上传代码,多数人会这样做,理由是他会与github建立安全连接,就是传输比较安全一些,另外会避免你每次上传代码都要输入你的github用户名和密码,如何配置参考配置链接。
2.不配置SSH,当然这样是可以的,就是每次上传代码时都需要输入用户名和密码。
既是重点,就详细讲下流程:
- 首先在github创建一个Repository
- 来到你的项目文件夹,右击进入bash进行命令:git init //此时生成了一个.git文件
- git add . //注意这里的 . 不要忘了,就是将当前文件夹下的文件添加到暂存区
- git commit -m “这里描述提交信息”
- git remote add origin [githubRepository链接] //这里链接要替换成你自己的,可以是https链接也可以是SSH链接,复制就行了,中括号不要
![](https://i-blog.csdnimg.cn/blog_migrate/d3ac09d235e74ee0b2f9bf70015a1806.png)
- git push -u origin master
到这里就完成啦,可以去Github刷新看看。
![](https://i-blog.csdnimg.cn/blog_migrate/ac0a7a509774ef113ae26fb945db8e3e.png)
注:commit提交的是本地仓库,而不是github远程仓库
这种上传代码仅适用上传到没有内容的空Repository,如过你的github仓库中本身有代码,那么是上传不成功滴,要首先使用clone,流程如下:
-
git clone [你的仓库链接SSH或者Https都可以]
此时你的文件夹多了一个从github下载的工程,把你要添加的上传文件放在这个工程文件里,位置你自己定 -
git add .
-
git commit -m “更新项目的描述信息[因为你不是空项目,所以这里是更新]”
-
git push -u origin master
到这里就OK啦,你可能会发现少了一步remote,原因是在你clone的时候系统默认给你add origin已经搞好啦。所以不需要你去手动添加了。
其实空的项目也可以clone,所以第二种方式是更加常用的。另外对于remote想多说一些,git remote add origin [githubRepository链接]这个命令中 origin代表的是你Repository的别名,你也可以不写origin,那么最后一句git push -u 之后的名字你也要改成一样的就行了。
另外git remote add是可以执行多次的,比如
git remote add origin1 [githubRepository链接1]
git remote add origin2 [githubRepository链接2]
…
这样的话,你就可以把你本地的工程文件上传到不同的Repository啦,但是如果原来非空的Repository会报错哦。这里我就了解了这么多,我想可能这样是用来上传到别人的Repository用的吧,毕竟团队合作,学到更多之后继续补充。
通过上面,你已经了解如何上传一个工程了,包括如何修改一个工程(clone再上传),那么如何删除Repository呢,在github里setting里面可以对其进行删除。
在仓库中如何查找指定文件呢?仓库有个Go to file,点一下就可以搜索了,或者用快捷键T,也可以搜索。
最后还有通过IDE上传代码的方式,比如使用PyCharm和Android Studio等等,这些工具内部都提供了与Git连接的方式,通过IDE我们使用会更加便捷,具体如何配置可以百度下,因为每种工具的连接都不一样,不详细讲了。