Github使用教程

GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好。
GitHub可以免费使用,并且快速稳定。即使是付费帐户,每个月不超过10美刀的费用也非常便宜。
利用GitHub,你可以将项目存档,与其他人分享交流,并让其他开发者帮助你一起完成这个项目。
优点于,他支持多人共同完成一个项目,因此你们可以在同一页面对话交流。创建自己的项目,并备份,代码不需要保存在本地或者服务器,GitHub做得非常理想。学习Git也有很多好处。他被视为一个预先维护过程,你可以按自己的需要恢复、提交出现问题,或者您需要恢复任何形式的代码,可以避免很多麻烦。Git最好的特性之一是能够跟踪错误,这让使用Github变得更加简单。Bugs可以公开,你可以通过Github评论,提交错误。
在GitHub页面,你可以直接开始,而不需要设置主机或者DNS。对于我来说,我可以在公司和家编辑同样的一套代码了,用U盘或者网盘都好麻烦的
理论说太多容易忘,来实践实践吧。

一、创建github repository(仓库)

1-1 登录github

github的官方网址:https://github.com ,如果没有账号,赶紧注册一个。

image.png

点击Sign in进入登录界面,输入账号和密码登入github。
image.png

1-2 创建repository(仓库)

为啥要叫repository(仓库)?我起初也纳闷,叫代码库不更简单明了么? 但仔细一琢磨,仓库一般都是放粮食的吧,这是把代码当作饱腹之物,多有爱,瞬间觉得这冰冷冷的代码充满了查克拉。

扯远了,来看怎么创建仓库,登录后可以看到有repository选项卡


image.png

如果没在这个页面也没关系,点击右上角的头像旁边的小三角,展开后可以看到Your profile,点击进入后也能看到repository


image.png

image.png

创建成功后,可以看到自己的仓库地址,如此,我的远程免费的仓库就创建了。它还介绍了github仓库的常用指令。这个指令需要在本地安装git客户端。

git init //把这个目录变成Git可以管理的仓库
  git add README.md //文件添加到仓库
  git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
  git commit -m "first commit" //把文件提交到仓库
  git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库
  git push -u origin master //把本地库的所有内容推送到远程库上

image.png

二、安装git客户端

Git是目前世界上最先进的分布式版本控制系统,git与svn的五个基本区别。它有以下特点:

分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;

保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;

Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;

Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);

Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;

分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;

分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

2-1 下载git客户端

官方下载地址:http://git-scm.com/download/ 根据你自己的系统 下载对应版本,没想到它知道我是Windows _

image.png

2-2 安装客户端

下载好之后咋们开始安装吧,欢迎界面,下一步。


image.png

选择安装路径,千万别选带中文的路径,有时候会引起不必要的误会。


image.png

选择安装组件,按默认的来就好了。
1)图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;

2)桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;
3)关联配置文件(Associate .git*) : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;
4)关联shell脚本文件(Associate .sh) : 是否关联Bash命令行执行的脚本文件;
5)使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码;


image.png

设置开始菜单中快捷方式的目录名称,默认就好,下一步吧
image.png

设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;
1)Git自带 : 使用Git自带的Git Bash命令行工具;
2)系统自带CMD : 使用Windows系统的命令行工具;
3) 二者都有 : 上面二者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 如果不懂这些尽量不要选择;
image.png

选择换行格式 ,依然是默认就好。
1)检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;
2)检查出原来格式转为unix格式 : 不管什么格式的, 一律转为unix格式的换行在进行提交;
3)不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;


image.png

选择终端模拟器,依然默认就好

1)使用MinTTY,就是在Windows开了一个简单模拟Linux命令环境的窗口Git Bash
2)使用windows的系统的命令行程序cmd.exe

image.png

选择默认就好,不用文件系统缓存


image.png

git终于安装成功咯。


image.png

2-3 绑定用户

打开git-bash.exe,在桌面快捷方式/开始菜单/安装目录中
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,用户和邮箱为你github注册的账号和邮箱

image.png

三、为Github账户设置SSH key

众所周知ssh key是加密传输。

加密传输的算法有好多,git使用rsa,rsa要解决的一个核心问题是,如何使用一对特定的数字,使其中一个数字可以用来加密,而另外一个数字可以用来解密。这两个数字就是你在使用git和github的时候所遇到的public key也就是公钥以及private key私钥。

其中,公钥就是那个用来加密的数字,这也就是为什么你在本机生成了公钥之后,要上传到github的原因。从github发回来的,用那公钥加密过的数据,可以用你本地的私钥来还原。

如果你的key丢失了,不管是公钥还是私钥,丢失一个都不能用了,解决方法也很简单,重新再生成一次,然后在github.com里再设置一次就行

3-1 生成ssh key

首先检查是否已生成密钥 cd ~/.ssh,

ls如果有3个文件,则密钥已经生成,id_rsa.pub就是公钥

image

也可以打开我的电脑C:\Users\specter.ssh 里面找到

image

如果没有生成,那么通过$ ssh-keygen -t rsa -C “6215048wjl@163.com”来生成。

1)是路径确认,直接按回车存默认路径即可

2)直接回车键,这里我们不使用密码进行登录, 用密码太麻烦;

3)直接回车键

image

生成成功后,去对应目录C:\Users\specter.ssh里(specter为电脑用户名,每个人不同)用记事本打开id_rsa.pub,得到ssh key公钥

![image](http://upload-images.jianshu.io/upload_images/6922261-de1b82503d65f5eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/124@

3-2 为github账号配置ssh key

切换到github,展开个人头像的小三角,点击settings

image

然后打开SSH keys菜单, 点击Add SSH key新增密钥,填上标题,跟仓库保持一致吧,好区分。

接着将id_rsa.pub文件中key粘贴到此,最后Add key生成密钥吧。

image

如此,github账号的SSH keys配置完成。

image

<a name="s4" style="margin: 0px; padding: 0px;"></a> 四、上传本地项目到github

4-1 创建一个本地项目

我这创建了几个空文件夹和一个文件及一个项目配置文件,好多前端项目都这样搭架构,我也追随潮流哈。

image

4-2 建立本地仓库

再来复习一下创建新仓库的指令:

git init //把这个目录变成Git可以管理的仓库

git add README.md //文件添加到仓库

git add . //不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了

git commit -m "first commit" //把文件提交到仓库

git remote add origin git@github.com:wangjiax9/practice.git //关联远程仓库

git push -u origin master //把本地库的所有内容推送到远程库上

首先,进入到beautifulDay项目目录,还记得创建仓库成功后的那个页面吧,指令都在呢。

然后执行指令:

git init

image

初始化成功后你会发现项目里多了一个隐藏文件夹.git

这个目录是Git用来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

image

接着,将所有文件添加到仓库

执行指令:

git add .

image

然后,把文件提交到仓库,双引号内是提交注释。

执行指令:

git commit -m "提交文件"

image

如此本地仓库建立好了。

4-3 关联github仓库

到github beautifulDay仓库复制仓库地址

image

然后执行指令:

git remote add origin git@github.com:wangjiax9/beautifulDay.git

image

4-4 上传本地代码

执行指令:

git push -u origin master

1)敲一个:yes, 然后回车

image

到此,本地代码已经推送到github仓库了,我们现在去githubt仓库看看。

咦!奇怪了,我的目录呢?这个坑突然冒出来是不是印象很深刻呢~

注意咯:

git是不能管理空的文件夹的,文件夹里必须有文件才能add

image

好,我们来试一下,我在examples里新建了一个test1.html文件

image

执行指令添加文件->提交文件->推送文件

git add .

git commit -m "提交test1.html"

git push -u origin master

image

然后刷新一个github,你会看到,examples文件夹出来了。

image

打开examples文件夹,test1.html也在里面。

image

总结:
  现在通过博客来将github入门梳理了一遍,印象好深刻,应该不会变成零碎了。如果大家想要知道更多的git操作和知识,推荐去看看缪雪峰的git教程,讲得很详细。

本文摘自:https://www.cnblogs.com/specter45/p/github.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,649评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,632评论 9 163
  • 今天是周一,女儿要开始第三天的幼儿园生活了。 八点了,我已经把自己整理妥当,然后叫儿子女儿起床。儿子说...
    玲萍阅读 196评论 4 2
  • 生命的意义 梦想的种子 春暖花香大地 有梦开出美丽 夏炎草碧如茵 追梦飞扬新意 秋果挂金枝头 圆梦举杯欢聚 冬玉铺...
    珠江潮平阅读 452评论 25 25
  • 昨天和老公聊天,聊起半年总结,聊到儿子教育,我兴致勃勃地说起这半年来自己一直在读哲学书,还有儿童哲学教育,我有信心...
    山河万朵阅读 576评论 1 10