已经写了一篇关于用AS上传工程到GitHub上的博客了。不过比较浅显。最近了解了一些再总结一下。
1.一些闲话:
Git - 一种先进的分布式版本控制系统。
SSH - 一种安全认证协议
Git 的用途:
保留你的文件每一次提交、修改的档案,方便你可以使用任何你保留过的文件修改版本。
如果你写了一个文档A,commit在Git中;随着时间的递进,你做了几次修改A1、A2、A3、…
当你修改了n次,的文档An,你忽然觉得第m次写的文档才是正确的,你可以直接从Git中获得Am,只要你的第m次修改commit到了Git中。使用Git不用你保存n个文件只要每次提交就行,文件还是只有一个。
关于SSH:
Git使用HTTPS 协议时,每次pull/push都要输入密码,相当繁琐。
使用SSH密钥可以省去密码输入。SSH相当于一个接头暗号,包括公钥和私钥,公钥存在网上的仓库里(可以给大家都知道)。私钥是自己的只有自己拥有不可以泄漏出去。
网上有一个小故事描述SSH的很贴切:
在敌我斗争严峻的抗日战争年代,敌占区笼罩在日军的白色恐怖下(就是说网络上不安全),上级领导决定指派特派员赴“白区”开展工作,打开革命局面(要上传文件到网络上)。敌人得知了接头暗号的一部分——找买烟的他会问你“买烟咯,大前门、红双喜,先生买烟么?好烟都在这里。”(其实这个大家都知道,去找买烟的他都这么说相当于公钥)。联络员在城头酒馆兜售香烟:“买烟咯,大前门、红双喜,先生买烟么?好烟都在这里。”特派员:“好烟都在这?我要的烟就怕你没有卖。”(特派员说的是私钥)联络员:“您要什么牌子?”特派员:“要一包特供樱花香烟。”联络员:“哎哟不巧,这个烟卖完了,我铺子里有,请随我来。”接头成功!(公钥和私钥匹配成功)
遇到的是敌人就是:”买烟咯,大前门、红双喜,先生买烟么?好烟都在这里。”鬼子特务:“要一包特供樱花香烟。”联络员“先生,您要的烟,20块大洋。(MD好贵啊)”暗号不对不带路。(公钥和私钥匹配失败)
二、言归正传
1.安装Git并进行配置
用管理员身份启动Git Bash
配置 git config –global user.name “你的Git用户名”
git config –global user.email “你的邮箱”
2.生成公钥和私钥
cd ~/.ssh
ssh-keygen -t rsa -C “你的邮箱”
于是在 ~/.ssh目录下就生成了两个文件:
3.将公钥上传到GitHub等云端代码存储平台
登陆GitHub,进入设置,增加SSH key
4.关于使用git bash的一些常用的命令总结一下:
1>. 在某一个要提交的工程下创建.git仓库
先cd到工程根目录
git init
2>. 拷贝一个文件到gittest目录下,执行将文件添加到git暂存区中
git add yourproject.* add命令是将文件添加到暂存区
cat yourproject.txt命令是读取文件中的内容
3>.提交文件到git仓库
git commit -m “提交了一个文件!”
4>.查看文件状态
git status
5>. 下载打开yourproject.txt这个文件,在其中做一下修改,比如加一句话:”This is the first add in this file. The file has been changed!“
git status 会输出一些信息,信息显示文件有修改
git diff youproject.txt 会显示出相比上次修改了什么内容
再次执行git add/git commit -m命令可以提交
6>. 版本回退
再做一些修改,查看所有的修改:
git log 或者 git reflog
使用git reset –hard HEAD^回退到上一个版本。^^两个表示上上个 ^~100表示前一百个版本
还可以通过版本号来回退
7>.提交到远程存储
先要在GitHub中创建一个仓库
git remote add origin https://github.com/yourGitHubName/yourproject.git
gir push -u(第一次加上-u) origin master