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