Git服务器的搭建笔记
来源:互联网 发布:淘宝支付方式有哪些 编辑:程序博客网 时间:2024/05/17 03:43
服务器系统选用ubuntu 系统
搭建步骤:
1.安装git
2.创建git用户,运行git服务
3.创建证书登录
收集所有要登陆用户公钥,就是id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。
如何找到自己的公钥?
用户主目录下,看有没有.ssh ,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录输入命令:
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
就可以一同操作了,但注意每次push项目之前,应该先git pull。
1)error: src refspec master does not match any.
error: failed to push some refs to 'git@192.168.0.29:/srv/sample.git'
原因:目录中没有文件,空目录是不能提交上去的
2)git remote add origin git@192.168.0.29:/srv/sample.git
fatal: remote origin already exists.
操作失误,远程仓库错了,如何移除掉远程仓库:
搭建步骤:
1.安装git
sudo apt-get install git
2.创建git用户,运行git服务
sudo adduser git
3.创建证书登录
收集所有要登陆用户公钥,就是id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
cd gitmkdir .sshcd .sshtouch authorized_keys
接下来,把开发者的 SSH 公钥添加到这个用户的 authorized_keys 文件中。
如何找到自己的公钥?
用户主目录下,看有没有.ssh ,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。
如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
注:在创建ssh key时,有告诉你公钥所在地的提示:
选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录输入命令:
sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
sudo chown -R git:git sample.git
5.禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:git:x:1001:1001:,,,:/home/git:/bin/bash改为:git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
6.推送一个分支,从而把第一个版本的工程上传到仓库里了
在个人电脑里:mkdir myprojectcd myprojectgit inittouch readmegit add readmegit commit -m 'initial commit'git remote add origin git@gitserver:/srv/sample.gitgit push origin master
这样,你的项目就推送到远程仓库上面了。
git clone git@gitserver:/srv/sample.git
就可以一同操作了,但注意每次push项目之前,应该先git pull。
1)error: src refspec master does not match any.
error: failed to push some refs to 'git@192.168.0.29:/srv/sample.git'
原因:目录中没有文件,空目录是不能提交上去的
2)git remote add origin git@192.168.0.29:/srv/sample.git
fatal: remote origin already exists.
操作失误,远程仓库错了,如何移除掉远程仓库:
git remote rm origin
0 0
- Git服务器的搭建笔记
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git 服务器的搭建
- git服务器的搭建
- git服务器的搭建
- git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- Git服务器的搭建
- git服务器的搭建
- git web 服务器的搭建
- 搭建自己的Git服务器
- git服务器的简单搭建
- git服务器的简单搭建
- Scala開發教程(1): 開始神奇的Scala編程之旅
- POJ 2187 Beauty Contest 凸包+旋转卡壳
- springmvc + maven + eclipse + mySql环境搭配
- ASP.NET Aspose.Cell控件使用教程
- 仿安卓的手机网页版toast
- Git服务器的搭建笔记
- Android学习笔记(11)————Android的私人文件夹的文件读写操作 .
- 准备Scala开发环境
- DOCTYPE 文档类型声明
- MSSQL附加数据库5120错误(拒绝访问)处理方法
- android view Touch
- Bmob使用案例常见异常总结
- 1. 第一个lavarel 项目
- alexa网站排名查询api