做为一名程序员相信你们必定听过github,那么git、github又有怎样的联系呢?若是你还不能熟练的运用这二者,看完本篇文章你就会有一个清晰的认识而且会熟练的运用在平常工做中。linux
Git是一个开源的分布式版本控制系统,能够有效、高速地处理从很小到很是大的项目版本管理。git
那么咱们为什要用Git?程序员
你们能够想象这样一个场景:一个网站不会是自始至终都是一个页面,若是遇到节日、活动必然要作些页面的或者交互上的改变;以百度为例你们都知道每逢节日百度首页的logo都会变化,与标准版有些许不一样,那么问题来了,活动结束时要回退到以前的标准版,难道要从新编写一遍吗?固然不是,这是Git的版本控制就排上了用途,活动版的百度、标准版的百度就是这个网站的不一样版本,版本控制系统能够保存这些版本并随意切换,这样在活动结束时就省去了从新编写的工做,直接切换到以前的版本就能够了。github
Git优点:版本控制、多人开发(后面介绍)bash
提到版本控制就不得不让你们了解版本控制不一样方式:服务器
1、本地版本存储系统:将不一样的版本代码存储到本地计算机,缺点:容易丢失、全部版本存储一台计算机占用大量内存ssh
2、集中化版本控制系统:(相似于SVN)服务器存储不一样版本的代码,须要的时候同服务器上拉取,缺点:服务器宕机全部版本丢失分布式
3、分布式版本控制系统:每一个人本地存储不一样版本的部分,服务器存储全部版本集合(github)优势:服务器瘫痪本地有备份,占用小部份内存网站
读到这里咱们已经知道了git是一个版本控制系统,那么github又是干什么的呢?其实咱们能够把git理解为某种标准或者协议,而github则是对这个协议的实现。像码云或者某些大型公司本身存储仓库都是对git的具体实现。ui
1、建立公钥(SSH方式、https协议可不用执行此步)
一、下载git(官网)
二、建立公钥 (桌面右键git bash here,执行下面命令,一路回车)
ssh-keygen -t rsa复制代码
三、查看公钥-命令行
cd ~/.ssh
ls
cat id_rsa.pub复制代码
四、复制粘贴到github(本身事先建立一个github帐号):SSH keys
六、配置用户名和邮箱(git以下执行命令)
git config --global user.email 本身的email
git config --global user.name 本身的用户名复制代码
七、克隆项目:github建立一个respositories复制ssh路径,git执行以下命令
git clone 复制的ssh路径复制代码
2、本地仓库介绍
本地仓库分为:工做区、暂存区、本地git仓库
命令集合
一、将文件从工做区添加到暂存区
单个文件: git add <filename>
多个文件:git add .
复制代码
二、将暂存区的文件提交到本地git仓库
git commit -m "备注"复制代码
三、查看文件的状态:(包含工做区修改、是否添加到暂存区、是否提交成一个版本三种状态)
git status复制代码
四、撤销工做区修改
git checkout -- <filename>复制代码
五、暂存区文件撤销(将文件撤出暂存区)
git reset HEAD <filename>复制代码
六、查看详细版本日志信息
git log复制代码
七、查看简略版本信息
git reflog复制代码
3、版本切换
一、回退版本
回退一个版本(一个^表明一个版本):git reset --hard HEAD^
回退100个版本:git reset --hard HEAD~100复制代码
二、指定摸个版本id切换
git reflog(查看id)
git reset --hard id复制代码
4、版本合并
一、合并多个版本 (-i表明使用ui界面、HEAD~3合并前三个版本)
git rebase -i HEAD~3复制代码
接下来就会进入linux环境界面,将后两个文件的pack字段改成s保存退出便可,对linux基本操做不熟悉的能够看本人另外一篇博客,那里有详细的介绍 blog.csdn.net/weixin_4382…
5、推送到Github
一、推送到远程分支
git push origin master复制代码
6、差别比较
一、工做区与暂存区比较
git diff复制代码
二、工做区域与本地Git仓库
git diff HEAD复制代码
三、暂存区域与本地Git仓库
git diff --catched复制代码
四、两次版本的比较
git diff id1 id2复制代码
7、分支(多人协做)
一、查看当前分支
git branch复制代码
二、建立分支
git branch <branchname>复制代码
三、切换分支
git checkout <branchname>复制代码
四、建立并切换分支
git checkout -b <branchname>复制代码
五、删除分支
git branch -d <branchname>复制代码
六、分支合并
git merge <branchname> 复制代码
8、与GitHub创建链接
一、github创建仓库
二、关联到github仓库
git remote add origin ssh地址复制代码
三、拉取(解决冲突以后再提交)
git pull origin ssh地址复制代码
最后再对照这个流程图加深一下理解,今天就介绍到这里啦