GitHub的基本使用
一、什么是GitHub
Github是一个基于git(我所使用的Git版本为:Git_2.11.1_64 (提取码:1i72))的社会化代码分享社区。GitHub的官网地址是https://github.com。
- 你可以在Github上创建免费的远程仓库(remote repository),分享你的代码,当然也可以关注其他人的代码,通常开源的都是免费的服务
- 你也可以建立公司账户,创建私有的远程仓库,与开发团队共同协作开发
- 如果想要使用Github Pages,首先需要创建一个Github账户,我的账户名是iove1123
二、GitHub的基本常识
1. 如果想要查看个人账号的下的项目代码可以通过https://github.com/username来访问,如https://github.com/iove1123,对应的页面效果可查看https://iove1123.github.io。
2. 每个账号都必须创建一个个人或组织的page,这种类型的page需要特定的repo来托管你的内容,具体来说主要有两个要求:
(1)必须使用username.github.io这样的命名格式,命名为username.github.io的repo中的内容将会出现在username.github.io上;
(2)master分支的内容将会被构建和发布在你的GitHub Pages site上。也就是说,每一个Github账户只能有一个User Pages,主要用来展示一个账户中最最重要的项目。
3. 可以创建多个项目,每个项目对应一个项目page,和个人或组织的page类似,不同点主要在于:
(1)gh-pages分支被用来构建和发布你的Project Pages site,一般是这个样子username.github.io/projectname,;
(2)你的Project Page site没有自定义的域名的话,他会默认放在你的个人或组织的Page site下,如https://iove1123.github.io/captcha,对应的项目源码可查看https://github.com/iove1123/captcha。
4. Github Pages的限制(Limitations)
(1)Github Pages只是静态网站(HTML, CSS, JavaScript)
(2)没有服务端,所以不支持服务端的语言(没有ruby, php, python)
5. 设置个性域名
(1)创建一个CNAME文件,包含你的个性域名,放在source文件夹下
www.example.com
其中, www代表host,example.com代表域名。
(2)把你个性域名的A record指向Github DNS
192.30.252.153
192.30.252.154
三、GitHub的git操作命令
1、在GitHub上的仓库需要下载到本地来,使用:
git clone https://github.com/username/project_name.git ,如 git clone https://github.com/iove1123/captcha.git ;
git clone --depth=1 git@github.com:top-think/think.git thin_git
这里代表克隆最新版本,且alias为别名
2、在本地进行编辑之后再提交到GitHub的步骤:
git add .
git commit -m "修改备注"
git push --all origin
紧接着会有提示输入GitHub上的用户名和密码,注意,前面的三个操作都是在仓库的根目录下进行使用GitBash进行操作。
3、更新
git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
细节可参考:
https://help.github.com/categories/github-pages-basics
http://www.cnblogs.com/zhehan54/p/5528886.html
常见问题
------------------------------------------------------------------------------------------
$ git push --all origin
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/iove1123/headjava.git/'
-------------------------------------------------------------------------------------------
上一次提交过程100%进度,但就是没有彻底结束,强制结束提交进程之后再次提交出现这种情况。解决方法:
===================================================
$ git remote rename origin upstream
ThinkPad@ThinkPad-PC MINGW64 /f/www/headjava (master)
$ git remote add origin https://iove1123@github.com/iove1123/headjava
ThinkPad@ThinkPad-PC MINGW64 /f/www/headjava (master)
$ git push -u origin master
Branch master set up to track remote branch master from origin.
Everything up-to-date
====================================================