以前在逛各大设计社区网站(dribble,Behance之类的)时就觉得有这么一些可以发布个人作品,交流作品,然后慢慢提升作品水平的社区是一件了不起的事情。
到了后来,对写代码这件事产生兴趣了,就在想,开发者是不是应该也有类似的社区。没错,它就是我们今天的主角Github。
先来说说Github有什么功能:
托管功能:你可以把你在本地写的代码传到Github上,由Github对你的代码进行托管,且可供其他GitHub用户查看,说白了GitHub就是全世界程序员放代码的大仓库;
团队协作功能:如果你的团队在进行一个项目,可以把代码托管到GitHub的仓库上,然后负责各成员根据编写功能的不同,创建不同分支,各分支之间互不影响,在最终提交代码时再把各分支合并在一起提交
社交功能:如果你遇到你喜欢的项目,你可以把它fork(复制)过来,也可以给它个star,甚至你可以为你自己喜欢但有不足的项目贡献自己的力量。你还可以在Github上关注其他用户,当然咯,其他用户也能关注你。
哪要怎么使用GitHub呢(以下以mac操作系统为例):
首先,当然是下载咯。请到 mac.github.com 下载 。
然后下载完,是不是马上打开那个软件。当然不是,我们是程序猿嘛,当然要用一点有逼格的方法啦。
请打开你的mac的终端,黑底白字炫酷叼咋天有没有(图一)。
然后,在终端上设置你的名字跟邮箱:
git config --global user.name "随便起个炫酷叼咋天的名字"
git config -global user.email "这里面是你的邮箱"
好了,现在git就知道你是谁了。
接着,你要创建一个能够放代码的地方,我们管它叫仓库(repository)
mkdir newResp //创建一个新的目录叫newResp
cd newResp/ //进入这个目录
git init //把这个目录初始化为一个git的仓库
再接着,我们就要创建一个文件,然后把它提交到git
随便在newRes文件夹下创建一个文件,此处创建文件为github.txt
git add github.txt //添加你要提交或修改的文件
git commit -m "你所提交的文件的相关信息" //提交文件
就这样,就完成了把文件提交的操作,不明觉厉有没有。但注意,这里说的是提交到git(目前,代码还只是存在于电脑本地),并非前面提到到提交到github,所以我们需要创建于github的联系。
你要去银行存钱,那你也得知道存入这个银行的什么账号对吧。所以这个时候git需要知道github的账号。如果没有github的账号,可以去 github.com 免费注册一个账号,然后回到终端,进行以下操作建立联系。
git config --global user.username 你的github账号(此处不用加双引号) //让git知道你的github账号是什么
然后你需要登录你的github账户,登录进去后你会看到菜单栏右上角有个加号,点击创建新的仓库,仓库名尽量跟你本地的仓库名一致,然后勾选上public,即可点击Create Respository(如图二)。接着出现图三界面,请把第二行的url复制起来。
回到终端,输入
git remote add origin <urlfromgithub> //origin是github上对该仓库的标示符,<urlfromgithub>是刚才复制的url。 标示符跟url的关系相当于联系人和与其对应的电话号码那样,origin可以按照自己的意思随意更改
git push origin master //把之前在本地的commit过的文件提交到github的该仓库下,分支为master
这样就完成了向github提交代码的全过程。
但一般来说,我们用github也不全只提交自己的代码。有不少时候是提交团队的代码,或者fork别人的代码来修改。
在团队协助中,可能有不同的成员负责不同的功能,为了隔离开不同的进度,并保护主要分支在最终提交前不被修改,我们会用到branch(分支)这一功能。我们可以创建不同的branch,并把自己修改完的代码提交到不同的branch,到最后确定无误后才合并到主要分支(master).
在终端,输入:
git branch <branchname > //创建新的branch
git checkout <branchname> //切好到名字为branchname的branch
git branch //可以查看当前的branch有多少个,当前用的branch是哪个
git push origin <branchname> //把修改的文件push到origin 这个仓库的 名为branchname的branch ,而其他branch不受影响
在所有代码完成修改确认无误后,我们便可以把一些分支合并到主要分支中(master),并删除这些分支。
在终端中,输入:
git checkout master //回到主要分支
git merge <branchname> //合并你想合并的分支
git branch -d <branchname> //合并后删除多余的分支
git push origin --delete <branchname > //合并后删除github多余的分支
如果我们看到一些别人的项目,想要收藏它或者自己想改动,那么我们可以把它fork(复制)到自己github的仓库。在每个repository详细页面里的右上角有一个fork(如图四)。点击后fork后该项目就会存储到你的repository中。在图四中你能看到右下角有个url。复制这个url。
在终端中输入:
git clone url //url为刚复制的url ,执行此操作则能在把该项目下载到本地的相关位置