资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
git本地服务器搭建 参考文章:.ossxp./doc/git/gitolite.html 当前任务,学习中. 公司小范围用法: 服务器上做的: 在服务器上建立一个用户,这里命名为git。 ubuntu下: useradd git passwd git 1 (改密码为1) 找个目录,建立空仓库 git -bare init 。 ubuntu下: cd /opt mkdir git git -bare init 建立文件夹project.git (名字随便取,这里取project,以后别人git clone时就会生成project文件夹)。 再建立一个文件夹.ssh,用来存入需要访问的成员的 ssh-keygen 项目成员机上要做的: 生成本机的ssh-keygen:直接运行 ssh-keygen ,回车,回车。生成的密钥会在window下: “C:Documents and SettingsuserName.ssh”,有两个文件,复制id_rsa.pub的内容给服务器管理员(邮件或直接 _吧!)。 轮到服务器管理员:在.ssh文件夹下建立 id_rsa.pub 文件 , 或直接:cat /opt/.ssh/id_rsa.pub 加成员的id_rsa.pub内容 (反正添加到这个文件后面就可以) 下面小组成员应该可以正常访问服务器了(对了,在此之前,需要安装ssh服务器 : apt-get install ssh) 项目组老大要做的: 做一个基本项目原型,供项目成员克隆下载 , 将已有文件推送到git服务器上 新建文件夹,git init 初始化git 。 git add * 将所有文件加入git 监控 ,可以用git status 查看监控状态 git mit -m 你的提交说明 git remote add origin gityourServerIP:/opt/git/project.git (这里是将远程git服务器命名成origin,方便以后使用,名字随便改) 推送到服务器 git push origin master 意思是 : git 推送 到 服务器目录 哪个分支master 。 至此,完毕。 项目成员基本步骤: git clone gitserverIP:/opt/git/project.git 完成仓库克隆工作 做该做的事, git mit -a -m 你的提交说明 git remote add origin gityourServerIP:/opt/git/project.git git push origin master 上传分支。 当然,还有更多的分支使用技巧.请参考以下书籍: Pro.Git-zh_ 还有一本: Git Community Book 中文版 下面是本人在使用git过程遇到的问题: git服务器把文件藏在哪了呢? 答:在objects文件夹下。查看文件的方式:不用进入目录下,直接用git cat-file -p 短目录名(如0e)+文件名前n位即可 原文地址:git服务器的简单搭建 作者:梦_无痕 小组级git服务器的搭建 1、公钥的生成 任何一个需要使用git服务器的工程师都需要生成一个ssh的公钥。可以通过ssh-keygen来生成 /.ssh$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/shizhen/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/shizhen/.ssh/id_rsa. Your public key has been saved in /home/shizhen/.ssh/id_rsa.pub. The key fingerprint is: a8:19:49:f4:e6:e8:4f:8f:3e:47:c9:19:4c:09:ee:7f shizhensz-desktop The keys randomart image is: 首先会让你输入要保存公钥的位置,直接回车即可,接着会提示让你重复一个密码两次,如果不想再使用公钥的时候输入密码,直接回车即可。完成后会在home目录下的.ssh目录中生成两个文件id_rsa(私有密钥)和id_rsa.pub(公钥)。 将生成的公钥即id_rsa.pub发给git仓库的管理者。 2、架设服务器 (1)服务器端 最好建立一个git组,让后再添加一个git用户,并且添加到该组当中。 sudo adduser git su git cd mkdir .ssh 在git用户新建一个.ssh的目录,将开发者的SSH公钥添加到git这个用户的authorized_keys这个文件当中。如有zhangsan,lisi两个开发者。 cat /tmp/id_rsa_zhangsan.pub /.ssh/authorized_keys cat /tmp/id_rsa_lisi.pub /.ssh/authorized_keys 建立一个空的仓库 cd work mkdir project.git cd project.git git -bare init 使用-bare会初始化一个不带任何工作目录的仓库,不会看到工程源码。 为了不使开发者每次clone代码的时候都输入ip地址,可以采用DNS的方式。具体操作如下 sudo vim /etc/hosts 在里面加入下面一行 192.168.1.100 gitserver (2)开发者端 若没有仓库的情况下,需要首先新建一个仓库。在需要建立仓库的,目录下执行以下的命令。 cd my_project git init git add . (将所有文件加入仓库管理) git mit -m initial mit git remote add origin gitgitserver:/home/git/work/project.git (即:git192.168.1.100:/home/git/work/project.git) git push origin master 若本地已有仓库,但想把其中的代码push到我们新的服务器上,可以直接用下面的命令 把想要push的分支代码新建成master分支 git checkout -b master xxxxx git push origin master 这样一个简单的服务器就可以工作了,其他的开发者可以直接从服务器上进行代码开发了。 为了保护git服务器,限制开发者登陆服务器,可以采用如下的措施。 sudo vim /etc/passwd 在文件结尾找到这样的类 git:x:1001:1001:,:/home/git:/bin/bash 将其中的/bin/bash/改为/user/bin/git-shell 现在开发者只能通过SSH来推送和获取代码,不能登陆ssh服务端了。 3.问题 現在的 ssh 使用同樣的方法會出現錯誤訊息 Agent admitted failure to sign using the key 解決方式 使用 ssh-add 指令将私钥 加进来 (根据个人的密匙命名不同更改 id_rsa) 即各自的开发者执行命令 ssh-add id_rsa Git本地服务器搭建及使用 Git是一款、开源的分布式版本控制系统。众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源,所以搭建本地Git服务器也是个较好的选择,本文将对此进行详细讲解。(推荐一家提供私有源代码托管的网站:Bitbucket,目前支持一个项目5个成员) 搭建环境: 服务器:intel i5 / 8g内存 / 64位操作系统 Ubuntu 15.04 PC: intel i5 / 8g内存 / 64位操作系统 Windows 7 旗舰版 第一部分:Git的基本操作 初始化操作 $ git config -global user.name #设置提交者名字 $ git config -global user.email #设置提交者邮箱 $ git config -global core.editor #设置默认文本器 $ git config -global merge.tool #设置解决合并冲突时差异分析工具 $ git config -list #检查已有的配置信息创建新版本库 $ git clone #克隆远程版本库 $ git init #初始化本地版本库修改和提交 $ git add . #添加所有改动过的文件 $ git add #添加指定的文件 $ git mv #文件重命名 $ git rm #删除文件 $ git rm -cached #停止跟踪文件但不删除 $ git mit -m #提交指定文件 $ git mit -m “mit message” #提交所有更新过的文件 $ git mit -amend #修改最后一次提交 $ git mit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)查看提交历史 $ git log #查看提交历史 $ git log -p #查看指定文件的提交历史 $ git blame #以列表方式查看指定文件的提交历史 $ gitk #查看当前分支历史纪录 $ gitk #查看某分支历史纪录 $ gitk -all #查看所有分支历史纪录 $ git branch -v #每个分支最后的提交 $ git status #查看当前状态 $ git diff #查看变更内容撤消操作 $ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容 $ git checkout HEAD #撤消指定的未提交文件的修改内容 $ git checkout HEAD. #撤消所有文件 $ git revert #撤消指定的提交分支与标签 $ git branch #显示所有本地分支 $ git checkout #切换到指定分支或标签 $ git branch #创建新分支 $ git branch -d #删除本地分支 $ git tag #列出所有本地标签 $ git tag #基于最新提交创建标签 $ git tag -d #删除标签合并与衍合 $ git merge #合并指定分支到当前分支 $ git rebase #衍合指定分支到当前分支远程操作 $ git remote -v #查看远程版本库信息 $ git remote show #查看指定远程版本库信息 $ git remote add #添加远程版本库 $ git fetch #从远程库获取代码 $ git pull #下载代码及快速合并 $ git push #上传代码及快速合并 $ git push : / #删除远程分支或标签 $ git push -tags #上传所有标签 附:参考 中文版权威教程Git Pro 简明使用指导 第二部分:搭建C/S架构Git服务器 一、搭建步骤 Git支持本地(local)、ssh、git和(s)这四种协议进行传输,本部分将基于ssh协议搭建(此协议不利于开源,适合公司团队使用)。 本文操作大部分在Ubuntu服务器端完成。 1、我们在服务器端新增加一个用户(本文为gitadmin)用于管理git仓库: Ubuntu下启动终端
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号