我操作的是阿里的云服务器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服务器)的更多相关文章

  1. (转)初学Git及简单搭建git服务器和客户端

    终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...

  2. (十九)git版本管理软件——搭建git服务器

    创建管理员git 为管理员用户添加sudo权限 生成管理员秘钥 设置管理员git提交账号和邮箱 下载安装gitolite 启动gitolite 添加项目版本库 添加项目成员 项目成员下载项目 gito ...

  3. Centos7 搭建Gitlab服务器并配置项目全过程

    https://blog.csdn.net/Abysscarry/article/details/79402695 gitlab与jenkins整合搭建      https://blog.csdn. ...

  4. 如何搭建git服务器

    一.前言 现在越来越多的公司用git进行版本控制,不过git是默认是开源的,如果私有的话是需要付费的,如果不想付费自己可以搭建一个git服务器用来版本控制. 二.服务器端操作 1.安装git sudo ...

  5. 搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  6. 在 Linux 下搭建 Git 服务器

    环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为 ...

  7. 搭建git for windows服务器(100%可以成功)

    既然Git在Linux下面非常好用,为什么还要搭建git windows的服务器,因为不是所有的用户都需要在linux下面做开发,对吧,还有很多用户选择使用windows做开发. 看到很多网友尝试部分 ...

  8. 搭建git for windows服务器

    文档出处 :http://blog.csdn.net/code_style/article/details/38764203 http://blog.csdn.net/aaron_luchen/art ...

  9. 使用Gogs搭建Git服务器

    Git现在基本上已经代替SVN成为主流的源码管理工具了,我在之前的文章使用GIT进行源码管理--GIT托管服务中介绍过一些国内外的主流在线Git服务,虽然这些在线的Git服务大多非常好用,但是有的时候 ...

  10. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

随机推荐

  1. Jenkins gitlab vue,angular,react 自动化构建【原】

    大致思路,(本篇主要讲vue ,当然了 angular react 也是一样配置) ,转发请注明原链接,谢谢 :) 1. 服务器上面配置jenkins (安装配置,不介绍) 2.新建item 自由风格 ...

  2. VMware Workstation All Key

    官方下载:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 懒人打包:链接:https:/ ...

  3. Oracle数据库中SCOTT用户下的默认表

    ①EMP(雇员表): ②DEPT(部门表): ③BONUS(奖金表): ④SALGRADE(工资等级表):

  4. MIPS中有关于分支指令及跳转寻址

    分支指令 分支指令包含该指令,和两个操作数,以及跳转的分支地址,该地址是相对于下一条指令的相对地址 分支指令占6位   操作数1占5位     操作数2占5位     分支指令16位 例如 bne  ...

  5. Https访问

    Let's Encrypt是很火的一个免费SSL证书发行项目,自动化发行证书,证书有90天的有效期.适合个人使用或者临时使用,不用再忍受自签发证书不受浏览器信赖的提示.去年VPS侦探曾经说过Let's ...

  6. HDU - 3567 Eight II (bfs预处理 + 康托) [kuangbin带你飞]专题二

    类似HDU1430,不过本题需要枚举X的九个位置,分别保存状态,因为要保证最少步数.要保证字典序最小的话,在扩展节点时,方向顺序为:down, left, right, up. 我用c++提交1500 ...

  7. galera断电后无法重建集群

    节点有一个测试环境,数据库用的三节点galera,测试组的同事把电源同时断了.节后回来开机,发现数据库状态一直有问题,以前遇到这种情况,都是把一个节点中的my.conf中的wsrep配置全删掉,作为一 ...

  8. The required anti-forgery form field "__RequestVerificationToken" is not present.

    @using (Html.BeginForm()) { @Html.AntiForgeryToken() }

  9. IIS部署web,字体404的问题

    今天在部署测试环境的时候,遇到字体无法访问的情况,如下图 其实,字体是存在的.路径也没有错.因为点超链接是可以看到的. 所以,怀疑是服务器不识别该字体.经过网上查找.找到了配置IIS的方法.让服务器可 ...

  10. Android内核解读-应用的安装过程

    前言 我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道andr ...