GitHub 源代码管理工具
目录
一、GitHub简介
二、GitHub初步认识
三、GitHub Desktop
四、基本Git语句
五、GitHub上手实践
六、心得体会
一、GitHub简介
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过 350 万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。在 2018 年 6 月 4 日,GitHub 被微软收购。
二、GitHub初步认识
GitHub官网:https://github.com/
登录官网后,我们可以在首页注册登录GitHub的账号。

注册完登录之后,会进入GitHub的基本页面,如下图所示。在页面中间可以很容易地看到Git和GitHub的指南,能帮助我们快速上手这一工具。
这里直接贴出学习网址,方便学习。https://guides.github.com/activities/hello-world/

除此之外,GItHub官方还出了一个交互式教程——GItHub学习实验室(Learning Lab),里面包含了许多内容,可以让我们掌握所需的技能。https://lab.github.com/

进入第一课First Day on GitHub,里面有各种视频、文字等资料。有兴趣的同学可以自己试试,这里就不再演示了。(里面的视频好像是在YouTube上看的,国内看不了。在知乎上https://www.zhihu.com/question/20070065可以看到该视频,并且有对Learning Lab更加详细的介绍。)

三、GitHub Desktop
或者我们也可以下载GitHub的Windows桌面版,在https://desktop.github.com/可以下载GitHub Desktop。
Github Desktop的界面十分简约,在界面左侧中间可以看到GitHub最基本的一些功能,如:Clone、Add、Create等。

Clone可以将他人上传到浏览器的项目导入到本地,也就是下载到本地。这里有三种方式可以选择。

Create可以创建一个代码库,填写好相关信息后,你就拥有了你自己的一个代码库。

四、基本Git语句
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。为了顺利地使用Github,我们需要掌握一些最基本的Git语句。
git init:用 git init 在目录中创建新的 Git 仓库。你可以在任何时候、任何目录中这么做,完全是本地化的。执行完命令后将会在该目录下新增一个.git的文件夹(该文件夹是隐藏起来的,计算机默认是不显示的,可更改文件显示设置让其显示出来。
git clone:使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。
一般的格式是git clone [url]。
git add:git add+文件名称,添加文件到Git暂存区。如果要提交所有的文件,使用Git add * 。在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动。commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动。
git commit:提交已经被add进来的改动。
git pull:git pull会首先执行git fetch,然后执行git merge,把取来的分支的head merge到当前分支。这个merge操作会产生一个新的commit。如果使用--rebase参数,它会执行git rebase来取代原来的git merge。
git push:push your new branches and data to a remote repository。git push [alias] [branch]。将会把当前分支merge到alias上的[branch]分支.如果分支已经存在,将会更新,如果不存在,将会添加这个分支。如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server上的branch现在的tip,如果本地历史中不能看到server的tip,说明本地的代码不是最新的,Git会拒绝你的push,让你先fetch,merge,之后再push,这样就保证了所有人的改动都会被考虑进来。
更多的内容可以在https://www.runoob.com/git/git-basic-operations.html等网站进行学习。
五、GitHub上手实践
我们的项目是在线课堂辅助检测软件,那我们先建一个库。(注意尽量都用英文,避免使用中文。)
然后,我用Android Studio上的一个项目先试一下。
启动Android Studio,打开如下路径File->Settings->Version Control->git在Path to Git executable后面的输入框输入你安装的git路径。

点击test按钮如果出现 Git executed successfully 对话框说明配置成功,同时对话框会显示你安装的git版本号。

然后配置Github登陆信息,打开如下路径File->Settings->Version Control->GitHub。

填入好相关信息:
Host:github.com
Login:github账户名
Password:github账户密码
填完之后点击Log In按钮,跳出下图所示界面就表示连接成功。

然后就是上传项目到Github了。打开你要上传的工程,顶部菜单选择VCS->Import into Version Control->Share Project on GitHub。
第一次提交该项目会出现如下对话框,提示你这是一个新的存储库,可以自定义库的名字,并添加描述。
再添加要传的文件,即可分享到GitHub上了。

接下来,我来clone团队成员的库。先进入成员GitHub的网址。

点击绿色的Clone or download,里面有两种方式可供clone。

我选择open in Desktop,该方式比较方便。在点击确认的弹窗后,会跳转进入GitHub Desktop。

点击Clone,稍作等待。即可成功clone到本地。

如果没有安装GItHub Desktop,那么也可以选择一个文件夹,之后项目会clone到这里,在文件夹中右键可以看到下图。

选择Git Bash Here,便进入命令行工具。

用git clone +url(如:git@github.com:1152316061/PG2.git)即可开始clone。

最后看到这样的场景,即成功clone。再打开文件夹,里面就有团队成员的项目了。


浙公网安备 33010602011771号