Git和Github
Git是目前世界上较为领先的分布式版本管理系统(本地)
Github是一个线上的项目托管平台(在线)
简单理解这两者之间的关系:
Git是一个版本管理工具,如果电脑上安装了git工具,你就可以在电脑不联网的情况下,对你的项目进行版本管理,每次修改上传的代码都会有记录,且可以回到任意你修改过的版本,对于开发人员来讲,是非常实用的工具,避免了备份无限NG,轻松管理你的项目。
Github则是一个线上的远程仓库,就是可以通过git将你的项目上传至你个人的远程仓库,而且别人也可以访问你的远程仓库,下载你的代码,于是就形成了一种开源的方式,这样一来无论是工作中项目开发还是交流和学习,都非常便捷。
关于Github的收费,Github是收费的,但提供免费的通道给普通用户,比如我们自己只是为了学习,熟悉操作Github,那蛮免费版的足够你耍了,所以不用担心费用问题,既然说到这,那就多说几句,收费和不收费肯定还是有区别的,花了钱肯定还是有他的意义的,除非你钱多那算我输。
方式一:免费用户账号可以创建任意数量的开放式项目(版本库),并且可以为开放式项目设置任意数量的协同者。
方式二:是需要付费的个人账号方案。付费的个人账号允许托管私有版本库,即可以创建只有自己及指定的私有协同者才能够访问的版本库,而其他人不能访问。根据允许创建的私有版本库数量及私有版本库协同者数量,收费不详。
方式三:是需要付费的组织账号方案。使用付费的组织账号,可以突破私有项目的协同者数量限制,并使用更易管理的团队(Team)对项目进行授权。但同时也可以创建更多的私有版本库和拥有更大的托管空间,收费依然不详。
所以:收费不收费跟你关系也不大,工作的时候你公司会解决的,当然也不一定都使用Github,看需求来吧。
1、 安装Git
首先先安装一个Git Bash工具,网上有下,也可以私聊,我给你们,没上传到百度云,这里就不当链接了。
安装好后打开,为了验证是否安装了Git, 可以输入以下命令:$git
如果显示Git相关的命令行则说明你的电脑已经安装了Git
2, 使用Git
2.1 创建版本地仓库(仓库/repository)
选择一个合适的目录来创建仓库(这里选择的目录是桌面)—— $cdDesktop/
使用mkdir命令创建仓库——$mkdir gitname
进入该仓库目录——$cd gitname
将该git目录变成Git可以管理的仓库:——$git init
2.2 提交文件到仓库
将一个需要提交到版本库的文件readme放到git name目录下(手动放入name目录下);
使用git add命令告诉Git, 把文件添加到仓库——$git add readme.txt
使用git commit命令告诉Git, 把文件提交到仓库(引号后面的是修改的备注)—— $git commit -m “add new file readme.txt”
2.3 修改文件内容并添加到本地仓库
修改readme.txt的内容:
使用gitstatus查看状态(文件是否有修改)——$gitstatus(有修改的文件显示为红色)
使用gitdiff查看修改前后的区别——$gitdiff
使用gitadd和gitcommit再次提交:
$gitadd readme.txt
$gitcommit -m “commit changes readme.txt”
2.4 版本回退
继续执行2.3进行文件内容修改, 并且提交修改:
使用git log查看历史日志(或者使用:git log --pretty=oneline):
$git log
在Git中, HEAD表示当前版本, 也就是最新版本, 上一个版本使用HEAD^ , 上上个版本使用HEAD^^, 往上100个版本使用HEAD~100, 然后使用git reset命令回退:
$git reset --hard HEAD^
上面的方式是回退, 如果又想继续回到之前的高版本怎么办呢,
git也是有办法的, 我们只要找到该高版本的commit id,再执行以下命令即
可:(commit id只要写前部分即可)
$git reset --hard 2044be7c
使用git reflog可以查看你执行过的命令记录
$git reflog
(Git的版本回退速度非常快, 因为Git在内部有个指向当前版本的HEAD指针, 当
你回退版本的时候, Git仅仅是把HEAD从指向了回退后的版本)
3, 注册GitHub账号和申请公钥
3.1 登录https://github.com/ 注册GitHub账号,并登录;
3.2 创建SSH Key;
3.2.1 进入setting
3.2.2点击SSH and GPG keys
3.3 生成rsa私钥和公钥(邮箱地址写自己的邮箱, 然后一路按回车)
$ssh-keygen -t rsa -C “你的QQ号@qq.com”
3.4 进入电脑用户的目录查看私钥和公钥(把ijeff换成你电脑的用户名)
$cd /c/Users/你电脑的用户名/.ssh/
3.5 在GitHub上添加SSH Key:https://github.com/settings/ssh, 将公钥
id_rsa.pub里面的值添加:
4.1 在GitHub上添加远程仓库(填入仓库名称,其他默认即可)
4.2 将GitHub远程仓库和本地仓库关联, 并将本地仓库推送(push)到远程仓库;
4.3 在终端中使用cd命令进入本地的仓库目录下
4.4 远程仓库和本地仓库建立关联; 根据上面4.4的提示, 在本地的仓库目录下执行以下命令:(其中origin是GitHub远程仓库的名称, jianwuhennie是GitHub的用户名)
$git remote add origin https://github.com/xxxx/mygit2.git
或者 $git remote add origin [email protected]:xxxx/mygit2.git
创建好仓库后,地址可以直接复制就好,见图
(以上两种写法都可以, git协议和https协议, git协议较快)
4.5 将本地仓库内容推送到远程仓库;(其中master是仓库下的分支,第一次push 需要加上-u参数) 执行以下命令来进行推送(push), 过程中需要输入GitHub的用户名和密码(你注册时用的账户和密码)
$git push -u origin master
以后push就不需要再加-u参数
$git push origin master
添加后可以在GitHub查看远程仓库的内容
4.6 将远程仓库的修改更新到本地仓库,这里要新建一个空的本地仓库,然后进入到该仓库下,执行pull:
$git pull https://github.com/xxxx/mygit2.git
4.7, 再将远程仓库克隆(clone)到本地仓库
在终端中使用cd命令进入你需要创建本地仓库的指定目录执行clone命令:
$git clone https://github.com/xxxx/mygit3.git
或者 $git clone [email protected]:xxxxx/mygit3.git
如有以下警告,则输入yes
Are you sure you want to continue connecting (yes/no)? yes
感觉好乱,终于写完了,凑合看吧!!!!!!!!!!!!!