<p>一、Centos7.2 下 Git的安装</p><p>1、查看是否安装了git</p><pre class="brush:bash;toolbar:false">rpm-qa|grepgit</pre><p><img src="/up_pic/201812/240942049759.png" title="240942049759.png" alt="1.png"/></p><p>若已经安装,需要先卸载。卸载命令如下:</p><pre class="brush:bash;toolbar:false">rpm-e--nodepsgit或者rpm-egit</pre><p><img src="/up_pic/201812/240942086723.png" title="240942086723.png" alt="2.png"/></p><p>2、安装Git</p><pre class="brush:bash;toolbar:false">yuminstallgit</pre><p><img src="/up_pic/201812/240942339126.png" title="240942339126.png" alt="1.png"/></p><p>输入y,并回车</p><p><img src="/up_pic/201812/240942363172.png" title="240942363172.png" alt="2.png"/></p><p>再使用 rpm -qa|grep git 来查看是否已经安装好了Git。</p><p><img src="/up_pic/201812/240942401200.png" title="240942401200.png" alt="3.png"/></p><p>3、创建Git仓库</p><pre class="brush:bash;toolbar:false">mkdirsix_git//创建文件夹
useraddsix//创建用户名并设置密码
passwdsix//(系统会提示输入密码和再次密码)
groupaddgit//创建组
gitinit--bare//进入所创建的文件夹,初始化一个仓库
chown-Rsix:git/var/www/six_git///赋权限</pre><p><img src="/up_pic/201812/240943104809.png" title="240943104809.png" alt="1.png"/></p><p>二、windows7 下连接Git版本库</p><p>1、安装Git 和 TortoiseGit(小乌龟)</p><p>2、在本地创建文件夹</p><p>>在windows7中某个盘符下创建一个名为"six" 的文件夹,这个文件夹就是我们与远程仓库通讯的文件夹。</p><p>3、进入"six"文件夹,右击菜单设置本机用户名和email</p><p>为了直观分辨不同用户为版本开发的贡献,需要设定用户名和email</p><p>下面分别是中文版和英文版的 TortoiseGit</p><p><img src="/up_pic/201812/240943589932.png" title="240943589932.png"/></p><p><img src="/up_pic/201812/240943584677.png" title="240943584677.png"/></p><p><img src="/up_pic/201812/240943585211.png" title="240943585211.png"/></p><p><img src="/up_pic/201812/240943589383.png" title="240943589383.png"/></p><p>4、Clone版本库(克隆)</p><p>在要克隆版本库的文件夹中点击右键,点击"Git克隆"菜单,根据图中信息填写后,点击确定,输入当时创建"six"账户是设置的密码即可。</p><p><img src="/up_pic/201812/240944409530.png" title="240944409530.png"/></p><p><img src="/up_pic/201812/240944401788.png" title="240944401788.png"/></p><p><img src="/up_pic/201812/240944402080.png" title="240944402080.png"/></p><p>输入创建"six"用户时,设置的密码。</p><p>英文版本:</p><p><img src="/up_pic/201812/240945148537.png" title="240945148537.png"/></p><p><img src="/up_pic/201812/240945142825.png" title="240945142825.png"/></p><p>填写好后,点击"ok"按钮,并要求输入密码。</p><p><img src="/up_pic/201812/240945382614.png" title="240945382614.png" alt="1.png"/></p><p>5、添加文件</p><p>在clone库的文件夹中添加一个测试文件,并在空白处点击邮右键,选择"TortoiseGit"-à "添加"</p><p><img src="/up_pic/201812/240946078421.png" title="240946078421.png" alt="1.png"/></p><p>勾选未受版本控制的文件,也就是刚刚创建的测试文件,点击确定按钮。</p><p><img src="/up_pic/201812/240946111925.png" title="240946111925.png" alt="2.png"/></p><p>添加完成后,弹出"加入完成"对话框,点击确定即可</p><p><img src="/up_pic/201812/240946146226.png" title="240946146226.png" alt="3.png"/></p><p>再在该文件夹空白出点击右键,点击"Git提交(C)->"master"…"</p><p><img src="/up_pic/201812/240946185950.png" title="240946185950.png" alt="4.png"/></p><p>在对话框中填写相关的说明信息并选择文件,点击提交即可。</p><p><img src="/up_pic/201812/240946213257.png" title="240946213257.png" alt="5.png"/></p><p>6、更新版本库</p><p>更新版本库前应该改先从服务器上"拉取"一下,再把自己修改的内容"推送"到服务器上.</p><p><img src="/up_pic/201812/240946475993.png" title="240946475993.png"/></p><p><img src="/up_pic/201812/240946477015.png" title="240946477015.png"/></p><p>三、建立发布版本库</p><p>1、在centos中建立发布版本库,然后进入文件夹。</p><p><img src="/up_pic/201812/240948123706.png" title="240948123706.png" alt="1.png"/></p><p>2、更新版本库,进入版本目录,执行"git pull"命令</p><p><img src="/up_pic/201812/240948171424.png" title="240948171424.png" alt="2.png"/></p><p>3、 禁止shell登陆</p><p>出于安全考虑,git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。</p><p>找到类似下面的一行:</p><pre class="brush:bash;toolbar:false">six:x:502:502::/home/six:/bin/bash</pre><p>改为</p><pre class="brush:bash;toolbar:false">six:x:502:502::/home/six:/usr/local/git/bin/git-shell</pre><p>或者</p><pre class="brush:bash;toolbar:false">six:x:502:502::/home/six:/usr/bin/git-shell
six:x:502:502::/home/six:/bin/false</pre><p>git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。</p><p><img src="/up_pic/201812/240948408822.png" title="240948408822.png" alt="3.png"/></p><p>四、错误</p><p><img src="/up_pic/201812/240949036681.png" title="240949036681.png" alt="1.png"/></p><p>在 windows文件夹 下 bash命令中输入:</p><pre class="brush:bash;toolbar:false">gitfetch--all
gitreset--hardorigin/master</pre><p>Git的bash操作:</p><p>进入git bash,我这个windows下个git已经安装配置完成了,所以直接clone,192.168.153.129为我centos7的ip</p><pre class="brush:bash;toolbar:false">gitclonegit@192.168.153.129:/srv/git/project.git</pre><p>输入git的密码</p><p>进入project.git</p><pre class="brush:bash;toolbar:false">cdproject.git</pre><p>创建一个测试文件</p><pre class="brush:bash;toolbar:false">vimtest.txt</pre><p>随便写一些内容</p><p>查看状态</p><p>git status 看到有一个待添加的文件texs.txt了</p><p>添加test.txt让git追踪</p><pre class="brush:bash;toolbar:false">gitaddtest.txt</pre><p>提交到版本库,并写上备注信息</p><pre class="brush:bash;toolbar:false">gitcommittest.txt-m'justatest'</pre><p>把他推送到服务器的版本库中去</p><pre class="brush:bash;toolbar:false">gitpushoriginmaster
gitclient
gitcommit</pre><p>已经推送到服务器端区了。。。接下来去服务器端看看有木有</p><p>刚才俺们在服务器端创建版本库时用的是 git init –bare project.git 加了个–bare就是创建一个裸仓库,没有工作区哒,所以这里只记录了文件的改动,要看是不是同步过来了,需要在git clone一次,看是不是这一次有test.txt啦</p><p>git clone git@127.0.0.1:/srv/git/project.git,输入密码后,开始下载代码了,果然master分支已经有test.txt啦.</p><p>git log查看一下提交记录,在mon feb 2 09:47:46 2015 +0800的这个,邮件为xxx的作者xxx提交哒。因为windows客户端配置的git是偶滴工作邮件和姓名,就打码了,ok,私有git搭建完成。</p><p>git的删除操作</p><pre class="brush:bash;toolbar:false">rmtest.txt
gitstatus
$gitrmtest.txt
rm'test.txt'
gitadd-u
$gitcommit-m"removetest.txt"
gitpush</pre><p>现在,文件就从版本库中被删除了。</p><p><img src="/up_pic/201812/240949203802.png" title="240949203802.png" alt="2.png"/></p><p>另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:</p><pre class="brush:bash;toolbar:false">$gitcheckout--test.txt</pre><p>git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以"一键还原"。</p><p><img src="/up_pic/201812/240949368636.png" title="240949368636.png" alt="3.png"/></p><p>小结</p><p>命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。</p>