Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
Centos 下安装 Git,默认在 CentOS 下,我们可以通过 yum 的方式来安装 Git
root@ci‐node1 ~]# yum install git –y root@ci‐node1 ~]# git version git version 1.8.3.
使用 yum 安装的 Git 的版本是 1.8,版本较低,我们还可以通过源码编译的方式来安装Git 的最新版本
首先需要安装依赖的库:
root@ci‐node1 ~]# yum install curl‐devel expat‐devel gettext‐devel openssl‐devel zlib‐devel gccperl‐ExtUtils‐MakeMaker ‐y
下载最新的源码包:
root@ci‐node1 src]# cd /usr/local/src/ root@ci‐node1 src]# wget https://www.kernel.org/pub/software/scm/git/git‐2.9.5.tar.gz root@ci‐node1 src]# ll total 5792 ‐rw‐r‐‐r‐‐ 1 root root 5928730 Aug 11 01:57 git‐2.9.5.tar.gz
解压安装:
root@ci‐node1 src]# tar xf git‐2.9.5.tar.gz root@ci‐node1 src]# cd git‐2.9.5 root@ci‐node1 git‐2.9.5]# make prefix=/usr/local/git all root@ci‐node1 git‐2.9.5]# make prefix=/usr/local/git install root@ci‐node1 git‐2.9.5]# rm ‐rf /usr/bin/git root@ci‐node1 git‐2.9.5]# ln ‐s /usr/local/git/bin/git /usr/bin/git root@ci‐node1 git‐2.9.5]# git ‐‐version git version 2.9.5
首先建立一个空仓库
// 使用 bash 命令,切换到用户家目录下: [root@ci-node1 ~]# cd // 在指定目录下创建存放 repo 的文件夹,示例为 git_test [root@ci-node1 ~]# mkdir git_test // 切换到 git_test 目录下 [root@ci-node1 ~]# cd git_test/ [root@ci-node1 git_test]# pwd /root/git_test // 使用 git init 命令创建一个空仓库// 使用 git init 命令创建一个空仓库 [root@ci-node1 git_test]# git init Initialized empty Git repository in /root/git_test/.git/ // 空仓库创建完成后 gittest 文件夹下会生成一个.git 隐藏文件夹。仓库默认包含一个主支,即 master,默认操作都是在主分支 master 上进行的
设置过滤文件
有了仓库,我们便可以在 git_test 文件夹下的工作区做文件增删修改工作了,但很多时候,我们只在意开发过程中的源文件,并不需要管理自动产生的其他临时文件。这时候我们便需要一个过滤文件,在这个文件中设置过滤规则,让 Git 能够自动过滤掉那些临时文件,这个文件便是.gitignore 文件。
//在仓库目录下创建.gitignore 文件 [root@ci-node1 git_test]# touch .gitignore [root@ci-node1 git_test]# vim .gitignore [root@ci-node1 git_test]# cat .gitignore test.txt //过滤 test.txt 文件 /test/ //过滤 test 目录 *.txt //过滤所有以.txt 结尾的文件
常用的通配规则:
Workspace:工作区(他持有实际文件)
Index / Stage / Cached:暂存区(它像一个结存区域,临时保存你的改动)一般存放在 ".git 目录下" 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
Repository:本地仓库工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本库。
Remote:远程仓库
Untracked:新增的文件的状态,未受 Git 管理,记录在工作区
Modified:受 Git 管理过的文件的改动状态(包括改动内容、删除文件),记录在工作区
Staged:将记录在工作区的文件变动状态通知了 Git,记录在暂存区
Unmodified:受 Git 管理中的文件状态(没有变动),记录在本地仓库/远程仓库
git init 初始化 git status 查看当前文件夹的状态 git add 文件名 对指定文件进行版本控制 把文件放到暂存区 git add . 对指定文件夹下的所有文件及子目录进行版本控制 git commit -m ‘详细的描述信息‘ 创建提交记录 git log git reflog 查看版本记录 git rest --hard 提交记录(版本号) 回退一个版本 git checkout git config --list git rm --cached 文件名 把文件从暂存区移回至本地目录 gir rm -f 文件名 把文件从暂存区和本地目录同时删除
原文:https://www.cnblogs.com/harryblog/p/10831976.html