首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
标题:
*
140
字
TAG标签:
(用空格隔开)
30
字
恢复历史版本:
请选择分类
html
python
javascript
php
sql
c
c++
c#
java
plain
所有人可见
仅自己可见
编辑器:UEditor
编辑器:TinyMCE
编辑器:Editor.md
HTML转MD
HTML转MD2
<p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">http://developer.51cto.com/art/201507/483448.htm</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用,那么我们可以自己搭建一台Git服务器。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">下面我们就看看,如何在Ubuntu上搭建Git服务器。我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>1、安装OpenSSH并配置SSH无密码登陆</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过命令 sudo apt-get install openssh-server,安装SSH服务。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413843148106.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过命令 ps –e|grep ssh,查看ssh服务是否启动。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413843657483.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit /ect/hosts</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413843312508.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>2、创建用户git,用来管理运行git服务。</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844216716.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>3、配置无密码SSH登陆</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">在gitClient_01上,我们使用命令:ssh-keygen –t rsa 生成密钥,如下图</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844702529.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">完成之后,在.ssh目录下,我们可以看到id_rsa和id_rsa.pub文件,id_rsa.pub为公钥,我们 通过命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">在gitServer上我们首先查看/home/git/.ssh目录下是否存在authorized_kesys文件,</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">如果没有,可以通过touch authorized_keys创建此文件。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">Authorized_keys创建完成后,将gitClient_01上拷贝过来的公钥id_rsa.pub的内容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">以上内容完成后,我们在gitClient_01中,可以使用命令ssh gitServer即可完成无密码登陆。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844312695.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>4、安装Git</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过命令 sudo apt-get install git-core,安装git</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844478338.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>5、建立git仓库的存储目录。</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844804275.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>6、初始化服务器端仓库</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">使用命令 git –bare init /home/git/myRep.git,初始化化仓库</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413844125346.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>7、在gitClient_01上,通过git clone命令进行克隆远程仓库,并在各自的电脑上运行开发。</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">Git clone <a target="_blank" href="http://www.cnblogs.com/jerehedu/p/mailto:git@gitServer:/home/git/myRep.git" style="color: rgb(255, 66, 0); transition: all 0.5s ease 0s; text-decoration-line: none;">git@gitServer:/home/git/myRep.git</a></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413845841942.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过以上的步骤我们就完成了git服务器的搭建,完成搭建后,我们需要了解一下与git服务器交互过程中所用到命令。主要命令有 git clone、git remote、git fetch、git pull、git push等,下面我们逐一了解</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>1、git clone</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">此命令是我们和远程仓库交互的第一步,通过此命令,我们可以将远程版本库克隆到本地,如上面第7步我们就使用了此命令,将远程库克隆道了本地。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">语法:git clone 版本库的网址 本地库名称</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">本地库名称可以省略,省略后在本地会生成一个和远程版本库名字相同的目录。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>2、git remote</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">此命令用于管理远程主机名,此命令在没有参数的情况下可以列出所有主机名。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413845848307.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">显示origin是在使用clone命令,克隆远程版本库时Git自动为远程主机命名。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413845845715.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">通过命令 git remote –v,可查看版本库的网址。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>3、git fetch</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">此命令可以将远程版本库的更新,更新到本地库。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">语法:git fetch 主机名字</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413845217255.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">在默认情况下,git fetch origin将会更新远程主机origin上的所有分支,如果只想更新某个分支,则在主机名origin后面加分支名。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">语法:git fetch origin master</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>4、git push</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">此命令用于将本地分支的更新推送到远程主机。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">语法:git push 远程主机名 本地分支名:远程分支名</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">如果省略远程分支名,则表示将本地分支推送与存在最终关系的远程分支,如果远程分支不存在,则会被新建。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">如:git push origin master,表示将本地master分支推送到origin主机的master分支上。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: center; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><img alt="版本控制-搭建git服务器" src="/ueditor/php/upload/image/20181222/1545413845956466.jpg" style="border: none;"/></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">如果省略本地分子名,则表示要删除远程主机中分支,如git push origin : master,则表示删除origin主机中master分支</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);"><strong>5、git pull</strong></p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">此命令用于获取远程分支中更新。</p><p style="padding: 0px 0px 15px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51); font-family: "Microsoft Yahei"; text-align: justify; line-height: 30px; word-wrap: break-word; white-space: normal; background-color: rgb(255, 255, 255);">语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。</p><p><br/></p>
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 4 个查询,用时 0.0019700527191162 秒,PHP脚本用时 0.004559 秒,占用内存 0.647 MB,Gzip 已启用