Git已经被所有的主流Linux发行版所支持。所以安装它最简单的方法就是使用各个Linux发行版的包管理器。
1、Debian, Ubuntu, 或 Linux Mint
1
$ sudo apt-get install git
2、Fedora, CentOS 或 RHEL
1
$ sudo yum install git或$ sudo dnf install git
3、Arch Linux
1
$ sudo pacman -S git
4、OpenSUSE
1
$ sudo zypper install git
5、Gentoo
1
$ emerge --ask --verbose dev-vcs/git
二、从源码安装Git
如果由于某些原因,希望从源码安装Git,按照如下介绍 *** 作。
1、安装依赖包
在构建Git之前,先安装它的依赖包。
1
2
3
4
//Debian, Ubuntu 或 Linux Mint
$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev asciidoc xmlto docbook2x
//Fedora, CentOS 或 RHEL
$ sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x
2、从github官网下载最新版本的Git。然后在/usr下构建和安装。
注意,如果打算安装到其他目录下(例如:/opt),那就把“--prefix=/usr”这个配置命令使用其他路径替换掉。
1
2
3
4
5
$ cd git-xxx
$ make configure
$ 。/configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
1、首先有一个目录dir, 执行ln -s dir dir_link 创建目录的软链接。
2、重新创建mkdir源目录,目录软链接重新生效。
3、执行命令ln dir dir_hard,创建目录的硬链接。
4、执行命令ln -s file file_link,创建文件file的软链接file_link。
5、执行命令ln file file_hard创建文件file的硬链接file_hard。
6、修改硬链接file_hard、cat file,同时更新到源文件中即可。
在linux下搭建git环境
1、创建Github账号,>
[plain] view plaincopy
01ssh-keygen ##一直默认就可以了
3、将公钥加入到Github账户信息Account Settings->SSH Key
4、测试验证是否成功。
[plain] view plaincopy
01ssh -T git@githubcom
02Hi someone! You've successfully authenticated, but GitHub does not provide shell access
同步github到本地
1、复制项目到本地:
[plain] view plaincopy
01git clone git://githubcom:xxxx/testgit ##以gitreadonly方式克隆到本地,只可以读
02git clone git@githubcom:xxx/testgit ##以SSH方式克隆到本地,可以读写
03git clone >
本地提交项目到github
1、本地配置
[plain] view plaincopy
01git config --global username 'onovps'
02git config --global useremail 'onovps@onovpscom' #全局,可选
2、新建Git项目并提交到Github。
[plain] view plaincopy
01mkdir testdir & cd testdir
02touch READMEmd
03git init #初始化一个本地库
04git add READMEmd #添加文件到本地仓库
05git rm READMEmd #本地倒库内删除
06git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。
07git commit -a ##自动更新变化的文件,a可以理解为auto
08git remote add xxx git@githubcom:xxx/xxxgit #增加一个远程服务器的别名。
09git remote rm xxx ##删除远程版本库的别名
10git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。
分支版本 *** 作
1、创建和合并分支
[plain] view plaincopy
01git branch #显示当前分支是master
02git branch new-feature #创建分支
03git checkout new-feature #切换到新分支
04vi page_cacheincphp
05git add page_cacheincphp
06git commit -a -m "added initial version of page cache"
07git push origin new-feature ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。
2、如果new-feature分支成熟了,觉得有必要合并进master
[plain] view plaincopy
01git checkout master #切换到新主干
02git merge new-feature ##把分支合并到主干
03git branch #显示当前分支是master
04git push #此时主干中也合并了new-feature的代码
git命令使用思维图:非常有料
二、安装gitlab
三、修改gitlab配置
四、配置nginx
把gitlab之前生成的>1:服务器端创建用户(git)
# sudo addusergit
2:客户端生成公钥,并
创建公钥:ssh-keygen,
在客户端的用户目录下查看生成的公钥和私钥对
#cd ~/ssh
#ls
id_dsa id_dsapub
公钥所在的目录:windows在”C:/User/username/ssh”目录下,linux在”~/ssh”,~代表用户目录
3:服务器git用户下添加各个用户公钥,并配置ssh服务
将各个用户的公钥文件追加在服务器git用户的authorized_keys文件中
$ cat id_rsajohnpub >> ~/ssh/authorized_keys
$ cat id_rsajosiepub >> ~/ssh/authorized_keys
$ cat id_rsajessicapub >> ~/ssh/authorized_keys
修改ssh和authorized_keys的权限)忘记下面的话,会每次输入密码,(ps,被这个坑了好久)
chmod 700 ~/ssh
chmod 600 ~/ssh/authorized_keys
4,在git用户下创建git库
cd gitDIR
mkdir projectgit
cd projectgit
git init –bare
5,客户端使用
提交自己的库
mkdir project
cd project
git init
vi firsttxt
git remote add origin gitserver/gitDIR/projectgit
git push origin master
克隆:git clonegit@gitserver/gitDIR/projectgit
6,限制开发者登陆
默认情况下,能够连接git服务器用户也可以通过ssh直接登陆服务器,那么服务器将会存在被多用户登入的风险,限制的方法是:
Vi /etc/passwd
git:x:1000:1000::/home/git:/bin/sh
该行修改后的样子如下:
git:x:1000:1000::/home/git:/bin/git-shell
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)