Linux和Windows下Git服务器的安装与配置
Linux 和Windows下Git服务器的安装与配置
By 飞雪
我在安装配置的过程中,测试了许多⽅法,出现了各种错误,现将我的总结发布如下,在⽂中摘录了部分⽹上内容,但是⼤部分内容都经过我的修正,该掉了⽹络上很多内容的错误,按照我的⽅法和注意事项,应该可以很快完成搭建。
1
1.1 Linux下安装git服务
(1)安装 Git
Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git
服务器端:
#sudo apt-get install git
安装完后,查看 Git 版本。
[root@localhost ~]# git --version
git version 1.7.1
安装完之后,可以使⽤ Git Bash 作为命令⾏客户端。
(2)服务器端创建 git ⽤户,⽤来管理 Git 服务,并为 git ⽤户设置密码。
[root@localhost home]# id git
id: git:⽆此⽤户
[root@localhost home]# useradd git
[root@localhost home]# passwd git
(3)服务器端创建 Git 仓库
设置/home/data/git/gittest.git 为 Git 仓库。
然后把 Git 仓库的 owner 修改为 git。
[root@localhost home]# mkdir -p data/git/gittest.git
[root@localhost home]# git init --bare data/git/gittest.git
Initialized empty Git repository in /home/data/git/gittest.git/
[root@localhost home]# cd data/git/
[root@localhost git]# chown -R git:git gittest.git/
(4)客户端创建 SSH 公钥和私钥
$ ssh-keygen -t rsa -C "472323087@qq"
此时C:\Users\⽤户名\.ssh 下会多出两个⽂件id_rsa 和id_rsa.pub。
id_rsa 是私钥;
id_rsa.pub 是公钥。
(5)服务器端 Git 打开 RSA 认证
进⼊ /etc/ssh ⽬录,编辑 sshd_config,打开以下三个配置的注释:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存并重启 sshd 服务:
[root@localhost ssh]# /etc/rc.d/init.d/sshd restart
由AuthorizedKeysFile 得知公钥的存放路径是 .ssh/authorized_keys,实际上是$Home/.ssh/authorized_keys,由于管理 Git 服务的⽤户是 git,所以实际存放公钥的路径是/home/git/.ssh/authorized_keys。
在 /home/git/ 下创建⽬录 .ssh。
[root@localhost git]# pwd
/home/git
[root@localhost git]# mkdir .ssh
[root@localhost git]# ls -a
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla .ssh
然后把 .ssh ⽂件夹的 owner 修改为 git。
[root@localhost git]# chown -R git:git .ssh
[root@localhost git]# ll -a
总⽤量 32
总⽤量 32
drwx------. 5 git  git  4096 8⽉28 20:04 .
drwxr-xr-x. 8 root root 4096 8⽉28 19:32 ..
-
rw-r--r--. 1 git  git    18 10⽉ 16 2014 .bash_logout
-rw-r--r--. 1 git  git  176 10⽉ 16 2014 .bash_profile
-rw-r--r--. 1 git  git  124 10⽉ 16 2014 .bashrc
drwxr-xr-x. 2 git  git  4096 11⽉ 12 2010 .gnome2
drwxr-xr-x. 4 git  git  4096 5⽉ 8 12:22 .mozilla
drwxr-xr-x. 2 git  git  4096 8⽉28 20:08 .ssh
(6)将客户端公钥导⼊服务器端/home/git/.ssh/authorized_keys ⽂件回到 Git Bash 下,导⼊⽂件:
$ ssh git@192.168.56.101 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
需要输⼊服务器端 git ⽤户的密码。
回到服务器端,查看 .ssh 下是否存在 authorized_keys⽂件:
[root@localhost git]# cd .ssh
[root@localhost .ssh]# ll
总⽤量 4
-rw-rw-r--. 1 git git 398 8⽉28 20:08 authorized_keys
可以查看⼀下是否是客户端⽣成的公钥。
重要:
修改 .ssh ⽬录的权限为 700
修改 .ssh/authorized_keys ⽂件的权限为 600
[root@localhost git]# chmod 700 .ssh
[root@localhost git]# cd .ssh
[root@localhost .ssh]# chmod 600 authorized_keys
(7)禁⽌ git ⽤户 ssh 登录服务器
之前在服务器端创建的 git ⽤户不允许 ssh 登录服务器,该操作依据版本不同,可能有所不同,在我使⽤的版本中,禁⽤之后,客户端⽆法向远程服务端推送,此处可以选择禁⽌⽤户名密码登录,不禁⽌此⽤户ssh登录服务器。
编辑 /etc/passwd
到:
git:x:502:504::/home/git:/bin/bash
修改为
git:x:502:504::/home/git:/bin/git-shell
此时git ⽤户可以正常通过 ssh 使⽤ git,但⽆法通过 ssh 登录系统。
(7)创建本地库并初始化
新建代码仓库⽂件夹gitlab,创建代码库⽂件夹gittest.git,进⼊gittest.git,使⽤命令git --bare init 初始化。
git@raspberrypi:~$ mkdir gitlab
git@raspberrypi:~$ mkdir gitlab/gittest.git
git@raspberrypi:~$ cd gitlab/gittest.git
git@raspberrypi:~/gitlab/mytest.git$git --bare init
注意:linux系统安装步骤csdn
(1)在向远程git服务器push之前,远程代码服务器必须⾸先建⽴代码库,并初始化,否则会发⽣错误。
(2)初始化要使⽤git --bare init,如果使⽤git init来初始化,需要修改配置⽂件,否则推送时也会出现错误。
1.2 Windows下安装git服务
因为准备使⽤TortoiseGit做图形客户端,所以就不选择Git GUI 版本. 打开Windows的下载页⾯后,应该会⾃动弹出下载框,选择保存即可.如果没有弹出,可以右键点击页⾯中的, 选择另存为即可,如果资源下载很慢,可以使⽤迅雷。
建议将下载好的软件安装包统⼀分类放到某个⽬录,如:E:\SOFT_N\Tools_ALL\Git_ALL,⽅便以后查使⽤。
⽂件通过浏览器下载完成后,需要修改⽂件的锁定属性,特别是.zip⽂件和.chm⽂件(否则打开chm会显⽰404). 右键点击下载的⽂件,选择属性,然后点击"解除锁定"按钮,确定即可. 如下图所⽰:
去除⽂件锁定(⾮必须)。
(3)然后⿏标双击安装⽂件,如果有Windows拦截警告,允许即可
(4)然后出现安装向导界⾯,点击下⼀步(Next)即可:
安装向导界⾯
(5)接着出现授权信息界⾯,Next即可:
授权信息界⾯
(6)选择安装路径
(7)选择⽂件关联,如果你不清楚,直接默认,下⼀步即可. 如果你想要右键菜单清爽⼀点,就把下
图中的那个勾给去掉. 这⾥把所有勾去掉也是可以的,更清爽(我就是这么⼲的).
(8)接着出现开始菜单⽂件夹,默认,下⼀步即可:
(9)然后是是否配置Path的配置,选择中间⼀个,可以通过 Windows命令⾏(CMD)调⽤ git 命令。然后点击下⼀步.
(10)选择回车换⾏的格式。默认即可.(检出时转换为Windows风格,提交时转换为Linux风格.)
回车换⾏风格(CRLF-LF)
(11)然后是安装进度界⾯
(12)安装完成. 去掉那个查看版本说明的复选框,点击完成(Finish)按钮即可.
(13)可以在cmd⾥⾯测试是否设置了Path,是否安装成功。在CMD中输⼊git或者git --version试试:
(14)如果按照前⾯的步骤安装下来,那么 git 程序所在的路径已经添加到系统 PATH 中(path就相当于系统⾃动查路径列表),所以可以直接在任意路径的 cmd 下执⾏ git 命令. 如果没有添加,则需要 cd 切换到Git所在的 bin ⽬录下,才能执⾏ git 命令.
(15)设置你⾃⼰的昵称与email
设置本地机器默认commit的昵称与Email. 请使⽤有意义的名字与email.
git config --globaluser.name "tiemaocsdn"
git config --ail "tiemaocsdn@qq"
git config --globalpush.default simple
如果要使⽤git进⾏推送,则必须配置push.default,否则推送失败. 姓名与Email只⽤于⽇志标识.实际推送到GitHub等在线仓库时,要⽤有操作权限的账号登录.
查看git配置可以使⽤-l参数(l 就是 list 的⾸字母,L的⼩写):
git config -l
在某个项⽬根路径下⾯可以设置单独的Email与姓名.
git config user.name"tiemaocsdn"
git ail"tiemaocsdn@qq"
可以看到,配置单个项⽬时,少了--global参数.
2 TortoiseGit的安装与配置
TortoiseGit 简称 tgit,中⽂名海龟Git. 海龟Git只⽀持神器 Windows 系统,有⼀个前辈海龟SVN, TortoiseSVN和TortoiseGit都是⾮常优秀的开源的版本库客户端. 分为32位版与64位版.并且⽀持各种语⾔,包括简体中⽂(Chinese, simplified;zh_CN)。
注意:XP系统已经不⽀持最新的安装包,请尽量使⽤ Win7 或更⾼版本的操作系统。
2.1 TortoiseGit安装
需要先安装程序包,然后安装语⾔包(LanguagePack). 因为TortoiseGit 只是⼀个程序壳,必须依赖⼀个 Git Core,也就是上⼀节我们安装的 Git. 所以安装前请确定已完成. 下⾯以64位版本为演⽰(64,32位除⽂件名不⼀样,其他的操作都⼀致)
(1)双击安装程序TortoiseGit-2.3.0.0-64bit.msi.弹出安装向导界⾯:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。