Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。
二、安装
1.移除旧版本git
centos自带Git,7.x版本自带git 1.8.3.1(应该是,也可能不是),
安装新版本之前需要使用yum remove git卸载(安装后卸载也可以)。
[root@Git ~]# yum remove git ## 移除原来的版本
2.安装所需软件包
[root@Git ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel[root@Git ~]# yum install gcc-c++ perl-ExtUtils-MakeMaker
下载&安装
[root@Git ~]# cd /usr/local[root@Git ~]# wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
3.解压
[root@Git ~]# tar xf git-2.9.5.tar.gz4.配置编译安装
[root@Git ~]# cd git-2.7.3[root@Git ~]# make configure
[root@Git ~]# ./configure --prefix=http://www.likecs.com/usr/git ##配置目录
[root@Git ~]# make profix=http://www.likecs.com/usr/git
[root@Git ~]# make install
注意:若make configure处出现了错误可能是依赖没有装全导致的
通过yum provides gcc和 yum provides cc查询到c编译器没有安装,yum -y install gcc安装gcc包及对应的依赖。
通过yum provides autoconf查询到没有安装autoconf,yum -y install autoconf安装包及对应的依赖。
上面是我遇到问题时解决的方式
5.加入环境变量
[root@Git ~]# echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile[root@Git ~]# source /etc/profile
解释:在/etc/profile文件最下面加入
export PATH=http://www.likecs.com/usr/git/bin:$PATH具体看你的文件放在了哪里
6 检查版本
[root@Git git-2.9.5]# git --versiongit version 2.9.5 Git 服务器搭建(yum)
1.创建一个git用户组和用户,用来运行git服务:
$ groupadd git$ useradd git -g git
2.创建证书登录
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
$ cd /home/git/$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys 3、初始化Git仓库
首先我们选定一个目录作为Git仓库,假定是/home/uThink/uThink.git,在/home/gitrepo目录下输入命令:
$ cd /home$ mkdir uThink
$ chown git:git gitrepo/
$ cd gitrepo
$ git init --bare uThink.git
Initialized empty Git repository in /home/uThink/uThink.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git uThink.git附件:
git的一些常用命令:
添加一个远程库:git remote add origin git@IP:Path
克隆一个远程库:git clone git@IP:Path
推送文件:
git add \'***\'
git commit \'***\' -m \'注解\'
git push origin master
拉取:git pull
分支:创建git branch **
分支推送到远程仓库:git push origin **
切换分支:git checkout **
合并分支:假设 分支A(更改文件) 分支B
整个文件的合并:merge git merge **(文件名)
单独文件的合并:
git checkout --path A(分支) **(文件名)
删除远程仓库的数据
git rm 文件名
git commit -m "for test"