在注册了github账号之后,一度不知道该如何使用。
在仔细研究了github的官方说明文档、廖老师的教程、还有许多博主的文章之后,总算对github的操作和体系有了较为深刻的了解,还有这篇简单的入门教程希望能给你们带来启发。如果有不清楚或者错误地地方欢迎指出。本文以MAC OS操作系统为基础。
1.github是什么
先来摘录一段维基的关于github的说明:
GitHub is a Web-based GIt Version control repository hosting service
github是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,所以叫做Github。
简单地说,github是一个源代码的在线托管平台,我们写好了代码就可以上传到这个平台进行系统的管理。这个“管理”就是这个平台最厉害的地方,因为我们写代码的时候总会有BUG,遇到一个大项目总会和别的小伙伴一起工作,这其中的复杂如果是手工操作大家也可以想象是多么困难。
github的第一个长处就在于,版本控制。这个功能可以说非常强大了,很多人可能都有过写论文的经历,体验过第一版、第二版、第三版…最终版…最终终终终版的经历,万一最(终n)版本被否决了,想找最(终n-1)的版本,而又不小心因为手残等各种问题被删除了,那可真是作大死了。
写代码出bug,不断改代码的事情可以说是家常便饭了,如果每一个版本都要手动去找真的很困难,这个时候就发明了github用来解放众coder,通过将码好的代码上传,版本控制工具可以用于记录程序开发的每个版本,这样不管你是想要第n个版本,还是第n-3个版本都可以快速找到并恢复,不再为版本的保存和管理抓破头皮了!
github的第二个长处就是协同工作,一般把github认为是树状结构,但是我觉得在这里如果比作河流的话也会很好理解,我们总的项目如同长江,每一个贡献代码的小伙伴就像是支流,支流汇入主干形成了我们最后的项目。当然这种比喻不严谨,但是作为理解协同工作也许是个好比喻:)github的代码托管为我们的协同工作提供了方便。
那我们为何要使用git?如果这些理由还不够,github还可以记录你在代码世界中的成长轨迹,在你的个人主页里有一个贡献值(contribution activity),按照颜色的深浅记录你这一年在 github提交代码的量,许多公司在招聘员工的时候,不仅会要求你能熟练操作git,更会看你在github上的真实的贡献值,因为这个贡献值很难造假,所以也是评估一个coder能力和兴趣的重要条件。
长篇大论说完,我们还是开始上手真实地操作吧!
2.配置运行环境
首先在Terminal(在mac os上最简单的方法就是用control+空格键呼出spotlight,然后在里面输入terminal)中输入:
git --version
检查是否安装了git,如果已经安装,会显示
git version 2.15.0 #版本可能有出入
如果没有安装,请输入:
brew install git #如果没有安装Homebrew,请自行搜索安装教程
brew link git
然后设置Git运行环境:
git config --global user.name "your name" #注意空格,并在引号中输入名字 git config --global user.email your-email #最后替换成你的邮箱
最后可以输入
git config user.name
git config user.email
检查是否配置成功。
通过提交名字和邮箱,可以使今后每一次代码的提交带上你的烙印。
在接下来的操作之前,需要你自行去github申请一个账号噢。
3.创建Git repository,克隆库到本地
repository被翻译为库,是github操作最重要的概念之一,在库里,你就可以放上自己的项目。作为新手,最好的方式是我们先创建一个远程库。
首先,登录Github,点击右下角的New repository,创建一个新项目
在Repository name里填写这个项目的名字,可以选择在Description中添加对库的简要描述,然后默认public公开(private要付费,充分贯彻github的开源精神),最后选择initialize this repository with a README,这个选项会添加一个markdown格式的文件,通过具体描述,帮助别人理解这个库的内容。最后点击Create repository,就完成了你的第一个远端库的创建!
下一步只需在terminal内输入:
git clone https://github.com/AnnikaGeng/learn.git #替换名字和刚创建的库的名字
稍等一会儿,我们就将刚才远程创建的名为learn的库克隆到本地了。此时你应该可以在本地找到一个名为learn的文件夹,里面已经有一个叫README.md的文件了,这就是我们刚才创建的markdown格式的文件。
4.学会提交代码到远程库
接下来就是我们这个简易教程的最后一步,提交代码环节,我们可以在刚刚那个learn文件夹里随意创建一个代码文件,比如用sublime Text创建一个python文件:
print("Hello,world")
保存为hello.py。
然后用terminal打开这个文件夹,可以在terminal中cd(change dictionary)到该文件夹,但是最简单的方法是选中文件夹直接右键,点最后一个选项:新建位于文件夹位置的终端窗口(New terminal at folder)。或者在system > preferences > keybord > shortcuts > services >files and folders 中设置new terminal at folder的快捷键。
打开之后依次输入以下代码:
git add hello.py #添加文件到暂存区 git commit -m "a new file" #提交所有暂存的改动,引号内写上此次提交的解释说明 git push origin master #将提交的内容推送到远程库
此时整个代码就已经推送完毕,可以在github中查看。
对add/commit/push的解释如下图:
平时我们在电脑里能看到的本地目录叫做工作区(working directory),里面是我们的本地文件。
通过git add 这个命令,我们把文件添加到了暂存区(stage),可以多次add。
当我们添加完所有的文件到暂存区,完成了一天的工作,可以只使用一个命令git commit,把今天的所有代码一次性提交到master分支,也就是如同我刚才提到的河流的主干一样的部分。
这时就完成了你本地文件的推送,要是想给其他人看到,和其他人一起工作,就需要把这个本地文件,推送到远端,通常我们叫这个远端为origin。
此时,再回到github网站,新的项目应该已经和本地的改动同步了,你可以在learn 这个库中,看到你刚才创建的hello.py文件。
更多的git操作可以参考:
1.廖雪峰的官方网站