-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgitserver.html
78 lines (78 loc) · 4.61 KB
/
gitserver.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv=pragma content=no-cache>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="shortcut icon" href="favicon.ico">
<link rel="bookmark" href="favicon.ico">
<title>Git版本控制系统安装使用手册(网站开发用)</title>
</head>
<body>
<div class="container">
<p><a href="index.html">返回首页</a></p>
<h2 align=center>Git版本控制系统安装使用手册(网站开发用)</h2>
<p><b>一、Linux服务器端</b></p>
<p><b>1、创建git账号</b></p>
<pre>
useradd -U -m -s /usr/bin/git-shell -b /myweb/user git</pre>
<p><b>2、安装git</b></p>
<pre>yum install git -y</pre>
<p><b>3、创建git空版本库</b></p>
<pre>mkdir /myweb
git init --bare git</pre>
<p><b>4、创建或迁移网站目录</b></p>
<pre>git clone /myweb/git /myweb/www
cp /原代码目录/* /myweb/www/
cd /myweb/www
git add *
git commit -m "创建项目"
git push origin master</pre>
<p><b>5、设置网站钩子(提交代码到git版本库后,自动拉取到网站目录)</b></p>
<pre>cd /myweb/git/hooks
mv post-update.sample post-update
sed -i "s/exec/#exec/" post-update
echo "unset \$(git rev-parse --local-env-vars)" >> post-update
echo "cd /myweb/www" >> post-update
echo "git pull" >> post-update</pre>
<p><b>6、修改git库及网站目录权限</b></p>
<pre>chown git:git /myweb/git -R
chown git:git /myweb/www -R</pre>
<p><b>7、创建登录密钥</b></p>
<pre>ssh-keygen -C mygitserver -f mykey</pre>
出现提示后,如果需要密码,输入密码,如是不需要密码,回车即可,再次确认后,密钥对创建成功。其中当前目录下的mykey(你的私钥)文件请一定要妥善保管,千万不能留在服务器上,下载保存后从服务器中删除。公钥添加到服务器中。
<pre>mkdir /myweb/user/git/.ssh
mv mykey.pub /myweb/user/git/.ssh/authorized_keys
chown git:git /myweb/user/git/.ssh -R
chmod 700 /myweb/user/git/.ssh
chmod 600 /myweb/user/git/.ssh/authorized_keys</pre>
<p><b>8、卸载selinux</b></p>
<pre>yum remove selinux* -y</pre>
<p><b>几个注意事项:</b></p>
<p>以上操作中的git用户名、mykey文件名、myweb目录、/myweb/www网站目录等,均可根据自己习惯用其他名称。</p>
<p>网站服务nginx/apache及php的运行用户,设置成git会更加方便,不会有权限问题(安全性要求高的网站不在此考虑)。</p>
<p>如在服务器的网站目录/data/www下运行git pull/push命令,一定要在运行完命令之后,再次更改git库及网站目录权属,具体命令见上面步骤6。</p>
<p><b>二、Git客户端使用方法</b></p>
<p><b>1、安装git客户端</b></p>
<p>Linux系统:yum/apt/pacman/emerge/zypper安装git即可。</p>
<p>Windows系统:<a href="https://git-scm.com/download/win" target="_blank">https://git-scm.com/download/win</a>下载最新版本,安装。</p>
<p>Windows系统下的图形客户端,建议用<a href="https://tortoisegit.org/" target="_blank">TortoiseGit</a>,注意中文包需要单独下载。</p>
<p><b>2、将前面生成的私钥导入到客户端</b></p>
<p><b>Linux系统、Windows系统的Git Bash方式(命令行操作):</b></p>
<pre>mkdir ~/.ssh
cp mykey ~/.ssh/id_rsa</pre>
<p><b>Windows系统中TortoiseGit图形界面(两种密钥使用方法):</b></p>
<p>方式一:安装时默认选择的是putty方式的密钥,需要用安装TortoiseGit时带的puttygen工具,将mykey文件导入,再点击“Save private key”导出为ppk文件。使用TortoiseGit时,导入此密钥文件即可。</p>
<p>方式二:安装时手动选择OpenSSH方式的密钥,按上面Git Bash的方式导入mykey密钥即可在TortoiseGit中自动调用上述密钥。</p>
<p><b>3、从服务器克隆项目</b></p>
<p><b>Linux系统、Windows系统的Git Bash方式(命令行操作):</b></p>
<pre>git clone ssh://git@服务器IP:端口号/data/git /本地路径</pre>
<p><b>Windows系统中TortoiseGit图形界面:</b></p>
<p>在文件夹中右键:克隆,地址同上。</p>
<p><b>小常识:密钥</b></p>
<p>密钥登录是Linux服务器管理中常用的一种登录方式。密钥为一对,分公钥和私钥,公钥放在服务器上,私钥妥善保存在自己电脑中。类似于生活中的锁和钥匙,用自己的锁锁住的门,只有自己手里的钥匙才能打开。不用担心,计算机生成的密钥对不会有相同的情况,这种机率只存在于理论中。</p>
<p><a href="index.html">返回首页</a></p>
<p align="center">© 2016-2025 清风的个人笔记</p>
</div>
</body>
</html>