git基本使用(搭建Git服务器)
我操作的是阿里的云服务器Linux系统的。系统不一样可能指令也不一样;
简要说明:
git是分布式版本控制系统,也就是说每个开发人员的本地库和远程的库都是一样的。
基本思路:
1.在远程服务器上的一个目录创建一个空的Git库,本地的库与之关联,从而达到更新代码和长传代码。
2.在远程服务器上创建多的用户名和密码给开发人员用,同时了解用户的权限配置;
下面开始操作:
一,在远程服务器上创建一个空的Git仓库,有两种方法
1.直接在远程服务端的文件夹中创建:
首先用 ssh username@servername登录你的服务器
一下操作在var/git 路径下git 自己创建的
安装git,如果安装失败按提示安装sudo
$ sudo apt-get install git
创建一个空的Git库,sample 是自己定义的工程名
sudo git init --bare sample.git
到这库已经创建结束了
2.在本地创建然后拷贝到远程服务端文件夹中:
操作在本地的git文件夹
mkdir sample
cd sample
git init
cd ..
现在回到git目录下
克隆一个空的库出来
git clone --bare sample sample.git
上传到远程服务器的文件夹
scp -r sample.git username@servername:/var/git
此时远程服务器上就有了一个空的项目库
二,创建用户,配置权限
回到远程服务器的var/git 目录username,自己定义
创建用户,中间会填写很多信息,自己根据提示填写
sudo adduser username
为用户添加pull 和push 权限,其实是文件的读写权限,针对的是真个服务器
chown -R username:username git
chmod 777 git
此时,这个用户就可以在本地的电脑使用了
在本地 git clone username@servername:/var/git/sample.git
万事OK了。
三,添加ssh公钥,省去提交,更新代码密码的输入;
本地生成ssh公钥
cd ~/.ssh 创建.ssh 并进入.ssh
ssh-keygen 生成ssh公钥
$ cat ~/.ssh/id_rsa.pub 查看文件,下面就是公钥的样子
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
回到服务器中/home/username,usename是你在创建用户名时候生成的。
mkdir .ssh
cd .ssh
touch authorized_keys
把本地的公钥添加到authorized_keys文件中
当前电脑在用username这个名字上传代码时候就不用输入密码了。
这个时候你是可以用ssh username@servername 直接登录这个服务器的,为了防止
登录可以进行一些限制;
打开 etc/passwd 文件
找到
username:x:1001:1001:,,,:/home/git:/bin/bash
改成
username:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样就限制的开发账户的访问
同理配置多个用户,你也可以用一个.ssh 把公钥添加到一个authorized_keys文件中
有问题欢迎探讨
git基本使用(搭建Git服务器)的更多相关文章
- (转)初学Git及简单搭建git服务器和客户端
终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...
- (十九)git版本管理软件——搭建git服务器
创建管理员git 为管理员用户添加sudo权限 生成管理员秘钥 设置管理员git提交账号和邮箱 下载安装gitolite 启动gitolite 添加项目版本库 添加项目成员 项目成员下载项目 gito ...
- Centos7 搭建Gitlab服务器并配置项目全过程
https://blog.csdn.net/Abysscarry/article/details/79402695 gitlab与jenkins整合搭建 https://blog.csdn. ...
- 如何搭建git服务器
一.前言 现在越来越多的公司用git进行版本控制,不过git是默认是开源的,如果私有的话是需要付费的,如果不想付费自己可以搭建一个git服务器用来版本控制. 二.服务器端操作 1.安装git sudo ...
- 搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- 在 Linux 下搭建 Git 服务器
环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...
- 搭建git for windows服务器(100%可以成功)
既然Git在Linux下面非常好用,为什么还要搭建git windows的服务器,因为不是所有的用户都需要在linux下面做开发,对吧,还有很多用户选择使用windows做开发. 看到很多网友尝试部分 ...
- 搭建git for windows服务器
文档出处 :http://blog.csdn.net/code_style/article/details/38764203 http://blog.csdn.net/aaron_luchen/art ...
- 使用Gogs搭建Git服务器
Git现在基本上已经代替SVN成为主流的源码管理工具了,我在之前的文章使用GIT进行源码管理--GIT托管服务中介绍过一些国内外的主流在线Git服务,虽然这些在线的Git服务大多非常好用,但是有的时候 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
随机推荐
- Flask從入門到入土(三)——Web表單
Flask-WTF擴展可以把處理Web表單的過程變成一種愉悅的體驗.這個擴展對獨立的WTForms包進行了包裝,方便集成到Flask程序中. Flask-WTF及其依賴可使用pip安裝: pip in ...
- windows 如何编译 Openssl ?
windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...
- hihoCoder 1513 : 小Hi的烦恼 位运算好题
思路:考虑第i个同学,第一门课排名比他靠前的同学的集合是S1,第二门课是S2...第五门课是S5,很明显比这个同学每门课程都优秀的同学就是S1&S2&S3&S4&S5, ...
- Android虚拟机安装
由于虫师那边的源估计到期了,我又找了一波. 打开SDK Manager.exe, 就在安卓目录下. 点击Tools--Options进入配置页面 mirrors.neusoft.edu.cn 配置如下 ...
- 使用TensorFlow的卷积神经网络识别自己的单个手写数字,填坑总结
折腾了几天,爬了大大小小若干的坑,特记录如下.代码在最后面. 环境: Python3.6.4 + TensorFlow 1.5.1 + Win7 64位 + I5 3570 CPU 方法: 先用MNI ...
- Python中if __name__=="__main__" 语句在调用多进程Process过程中的作用分析
2018年2月27日 于创B515 引言 最近准备学习一下如何使用Python中的多进程.在翻看相关书籍.网上资料时发现所有代码都含有if __name__=="__main__" ...
- 2015最新iOS学习线路图
iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置 ...
- KVM虚拟化网络优化技术总结
https://www.intel.com/content/dam/www/public/us/en/documents/technology-briefs/sr-iov-nfv-tech-brief ...
- 网络基础tcp/ip协议五
传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...
- Unable to find the ncurses libraries的解决办法
我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误: *** Unable to find the ncurses libraries or the* ...