一.git简介
•
速度
•
简单的设计
•
对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
•
完全分布式
•
有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
•
•
自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统
。
•
•
Git必看秘籍
:
https://git-scm.com/book/zh/v2
•
Git 有三种状态
:
已提交(committed)、已修改(modified) 和 已暂存(staged)。
•
已修改表示修改了文件,但还没保存到数据库中。
•
已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
•
已提交表示数据已经安全地保存在本地数据库中。
•
•
这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。
二.git安装
•
安装Git
:
•
# yum install -y git
•
•
获取 Git 仓库
通常有两种方式
:
•
将尚未进行版本控制的本地目录转换为 Git 仓库
。
•
从其它服务器克隆 一个已存在的 Git 仓库。
比如
: git clone
•
初始化
版本库:
•
$
mkdir
demo
•
$ git
init
•
$ ls .git/
.git目录是git跟踪管理版本库的,没事别瞎溜达!
三git使用
•
用户信息
•
$ git config --global user.name "wxh"
•
$ git config --global user.email yakexi007@westos.org
•
•
检查当前文件状态
•
$ git status
•
$ git status -s
//
简化输出
•
状态简览
$ git status -s
表示已经添加到暂存库
提交
再次查看状态,为空,表示当前目录没有做任何修改
右边M表示在工作区修改,左边M表示在暂存区修改
顺序:在工作区修改,提交到暂存区,上传
提交和上传忽略特定的文件和目录
创建.gitignore文件,在里边写入需要忽略的文件名和目录
删除文件
状态会显示删除
可以撤销和提交状态
提交之后就表示删除了
但也可以后悔,首先查看文件的日志
版本回退
•远程仓库:注册github帐号,并新建一个仓库:
•
推送本地仓库内容到github:
•
$ git remote add origin https://github.com/westos007/git.git
//
关联远程仓库
•
$ git push -u origin master
//
第一次推送需要加 -u参数
•
•
使用https方式推送每次需要输入用户名和密码,如果不想麻烦的话采用ssh方式:
•
$ ssh-keygen -t rsa -b 4096 -C "yakexi007@westos.org"
•
生成本地密钥,并上传公钥到github:
添加公钥
复制完公钥之后,仓库就会同步过来
在主机的仓库中创建文件上传
数据就会同步到网上仓库
当你需要时,直接克隆就可以