1. 关于GitHub的常见使用方法,请参考官网上面的说明。本篇文档只是针对于常用的,而且容 易犯错的用法进行说明。仅仅是个人观点。
2. 如何使用GitHub?
(1) 常用的是首先在GitHub上创建一个版本库,然后接下来的工作是在本机创建一个版本库,注意不一定要和原来那个版本的文件名相同。比如原 来创建的版本为HelloWorld,那么本机完全可以使用一个文件名为HelloRyan这样的文件夹。只是需要在后续操作中配置相应的信息即可。
(2) 本机创建文件夹后,需要进行Git的配置。首先git init来初始化一个版本库,然后需要建立和远程版本库的链接。这里使用git remote add命令来添加。
git remote add origin url
其中origin是你指定的url的别名,你完全可以取其他的名称。而url则是版本库信息对应的路径,这里在GitHub上面你创建的版本库上面,有一个SSH/HTTP/Git Read-Only这些选项,你需要的做的就是选择一个url,填写即可。比如
git remote add helloworld git@github.com:username/repname.git
(3) 建立起本机和远程的联系之后,还可以对Git进行简单配置,比如邮箱,用户名,比较工具啥的,由于本文不是初级教程,所以此部分内容略。详见官方文档。
(4) 本机进行工程开发,比如新建文件,然后提交。等等
(5) 保证和远程同步,因此需要将本机的版本库push到远程上去,为此使用:
git push origin branch
其中,origin就是刚刚取的别名,比如是helloworld,而后面的就是要推送到的分支名,比如master。具体就看你本机和远程的分支,对应的别名了。
(6) 完成了上述修改后,可能会在另外一个场合拉取代码,此时还是相同的步骤,创建一个文件夹,git init来初始化版本库,然后同样git remote add xxx xxx。
接下来的任务就是执行pull命令:git pull xxx branch(其中xxx就是前面的origin,helloworld这些别名)。
简单的用法就介绍到这里。
下面说说一些用到的体会,总结。
(1) 首先是关于git remote add xxx xxx这个用法。这个做法是取别名,避免了每次都要输入完整的路径名,当然,你也可以这么做,当然没问题。
比如:git pull url master,就是把远程的url这个拉取到本机的master分支上。
可是每次都这么做多麻烦,为此使用别名,以后就直接通过别名来push,pull。
实际上,昨晚这个工作后,会在.git目录下面的config文件中写入一个项,用来指示该别名的信息,如下所示:
[remote "origin"]
url = git@github.com:xxx/rep.git
fetch = +refs/heads/*:refs/remotes/origin/*
上面就是别名origin这个别名的信息。记录了目标远程版本库的地址。
(2) SSH方式还是HTTPS方式。
在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的。当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码。
比如,上面的url = git@github.com:xxx/rep.git使用的是ssh方式,那么我进入一个版本库中,push到远程的时候,是不需要输入用户名和密码的,这个只在你初始时候使用到。而如果我的url是以https方式来做的话,如url = https://xxxx,这样我在进行更新,push或者pull的时候,都会提示你输入GitHub的帐号和密码的。实际上,GitHub是鼓励使用ssh方式的,在官方文档也有说明,不过对于无法使用ssh服务的地方来说,https又多了一种方式,给用户也带来了方便。
(3) 常用的命令和Git的使用似乎并不需要有太多的说明,但是要想掌握这个工具还是需要很大的尝试和努力。这里推荐下图形化使用工具TGit(Windows)以及gitg(Linux)版本。通过图形化工具能够帮助我们熟悉提交图,掌握基本的操作,有时候图形化界面能够极大的方便我们操作,比如右键可以打Tag,查看分支,所有分支,Diff等等。
在Windows下面,先要安装Git程序,然后安装TGit,指定Git路径,此时可以利用Cygwin的命令行界面来操作Git,同时可以在右键菜单中使用TGit来查看提交图。
在Linux下面,就直接使用命令行来工作,同时利用gitg等图形化工具来观察提交图等。
(4)协同工作。在GitHub上面有很多开源项目可以参与到开发学习,可以搜索相关项目,fork该项目,然后在自己的版本库中就会出现,此时通过pull可以更新到本机,然后再进行开发,当你开发之后push上去,再通过向开发者发送请求让其了解到你进行的修复,然后他根据自己的判断是否采纳,更新版本库来决定是否让你的这次提交并入到版本库中。
(4)更多关于Github的使用请参见官网:https://github.com,里面讲述了如何从建立版本库到创建分支,管理版本库的知识。