安装git:

sudo apt-get update

sudo apt-get install git-core openssh-server

增加 developers 组以及创建保存项目的仓库:

1.创建一个新的用户组,将创建的仓库都放置在名为 git 的用户下,当然git 要隶属于 developers 组,这样也是为了方便将来的管理需要。

sudo groupadd developers
cd /home/
sudo mkdir git

sudo useradd git -d /home/git
sudo passwd git #               为用户git指定密码,一般为1234

2.四个命令分别为我们创建 developers 用户组, 并在/home/ 文件夹下为名为 git 的用户创建工作目录,创建名为 git 的用户账户并将它的工作目录指向/home/git,将增加的用户添加到 developers 用户组中,

sudo gedit /etc/group 你或许能在文件中看到类似的一行:

developers:x:1001:

3.将刚才创建的用户 git,添加到developers中:

developers:x:1003:git,tom,francklin,james

创建代码仓库,并修改权限。现在,让我们回到创建好的工作目录 /home/git/,你可能需要通过命令cd 来完成将工作路径由 /etc/ 切换为 /home/git/,然后让我们在 git 下创建一个新的仓库

sudo mkdir videoSdk.git
sudo mkdir videoSdk.git
sudo chgrp developers videoSdk.git
sudo chmod g+rws videoSdk.git

我们需要将创建的文件夹的所有人由 root 修改为 developers,这样当我们在本地上传代码至仓库时就不会遇到权限不够的问题。其次我们需要将仓库的所有权修改,你也可以用“777”修改仓库的权限,不过不建议你这样做。

sudo git init --bare --shared videoSdk.git

在正式上传代码至仓库前,还需要对仓库进行初始化,请注意这里和平常使用方式的不同,—bare 指定创建的仓库为公共仓库,—shared 将使其他人都有权限将他们的代码提交至这个仓库中。

SSH

题外话:有朋友@我说这部分说的不够详细,有些云里雾里。因此我决定修改本章的内容,力求各位能尽可能的看得懂。

首先,我们使用GIT的原因,是希望能够分布式的管理代码,即便因为主仓库受损,也不希望影响到本地的代码,或者说张三因为电脑中毒了,导致代码丢失,依然能够通过其他人,或者代码仓库恢复代码。通常,提交代码至代码仓库有四种方法:

本地提交

通过HTTP提交代码

通过SSH提交代码

通过FTP提交代码

本地提交的意思是,你的代码仓库就存放在本地硬盘或某个文件夹,你可以不借助任何其他工具而直接访问你的仓库。因此基于这样一种情况,你可以完全无视本节内容,你只需要在本地硬盘上开辟一块空间,创建对应的代码仓库即可。

但是当你的代码需要联网才能提交到仓库的时候,你就需要考虑 HTTP、FTP、SSH 中的其中一种方式提交你的代码。这里,我推荐使用SSH,其一、提交代码的时候不需要输入密码,其二、适用于绝大多数情况,其三、使用SSH提交代码的方式也最为容易实现。

使用SSH进行提交代码,你需要在GIT Server上先安装SSH服务器,如果你使用的系统是Ubuntu/Debian的话,可以使用 apt-get 安装 SSH 服务器。

sudo apt-get install openssh-server

如果是CentOS系统,那么也可以使用 yum 安装 SSH 服务器,不过Linux企业版系统,一般默认有安装 SSH 服务器,所以你可以无视这一步。在服务器上安装好 ssh 之后,可以使用 ssh localhost 试着登录一下。在你没做其他配置的情况下,一般会要求输入用户名和密码,之后会提示登录成功。你可以在登录成功后,使用 ls -l 或者 ll 命令查看当前工作路径下有哪些文件和目录,之后,你需要使用 exit 退出 ssh 登录。

在本地客户端上,你可能需要创建隶属于 developers 组的用户,当然这一步并非必须。

$ sudo groupadd developers  # 创建developers用户组
$ sudo mkdir -p /home/git   # 创建主目录
$ sudo useradd git -d /home/git -g developers # 创建git用户,并制定其默认的工作路径和隶属的用户组
$ sudo passwd git  # 为git设置密码

完成这一步后,我们需要为客户端设置 ssh 免登录,所谓 ssh 免登录指的是从客户端登录服务器端,不需要输入用户名和密码,如果你觉得这一步很麻烦的话,那么大可以无视这一节的内容。首先,将当前的用户从管理员用户切换为 git,并使用如下命令:

ssh-keygen -t rsa # 使用RSA协议,生成一对公私钥,过程中出现的提示,一路回车即可
ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168.191.12 # 将生成的公钥发送至位于192.168.1.100的设备上(GIT 服务器)

这个过程可能会要求你输入密码,如果发现发送失败了,那么请检查用于登录192.168.1.100的用户名和密码是否正确。另外需要知道的是,如果创建了用户而没有指定密码,那么当你试图登录设备的时候一般会失败。如果是后者的原因,那你需要用管理员的账户,登录到系统,并使用 passwd username 为用户指定一个密码,比如(以Ubuntu系统为例):

之后你再次尝试一次,那么就会成功的把公钥发送给 GIT Server 了。你可以使用 ssh git@192.168.1.100 试一试,看看能不能免密码登录至 GIT 服务器上。​

代码仓库

完成这些后,就可以上传自己的代码、或者从 Git server 上拉取代码了。

git remote add origin git@192.168.134.179:/home/git/androidVideoSdk.git

git clone git@192.168.134.179:/home/git/videoSdk.git
git push origin master

可能出现的 Error

如果出现了类似的错误

@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
The RSA host key for .net has changed,
and the key for the according IP address xx.xx.xxx.xxx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

处理方法是,删除客户端的 .ssh/known_hosts 文件。

git搭建局域网服务器相关推荐

  1. java http 服务器搭建_基于http.server搭建局域网服务器过程解析

    不知道大家有没有遇到过这样的情况, 在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到u盘,于是麻烦的通过登陆qq.微信等社交软件 ,或者邮箱等工具进行传输,十分麻烦,让人苦恼.都说 ...

  2. Git搭建私有服务器

    环境:Linux7.0最小版   git2.22.0 一.git服务器介绍 远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.GitHub就是一个免费托管开源代码的远程仓库. ...

  3. Android 搭建局域网服务器

    AndServer AndServer 类似于 Apache 和 Tomcat,支持在同个局域网下的设备能够以常规的网络请求方式来向 Web 服务器请求数据,只要指明 Web 服务器的 IP 地址和端 ...

  4. 安卓搭建局域网服务器KSWEB--序列号

    1.准备工具: 安卓手机 笔记本电脑 ksweb3.62--输入任意序列号即可(仅限此版本)155B-38B1-0EC7-2E29 网络 2.安装ksweb3.62 3.破解方法: 一定要有网络:完成 ...

  5. python 服务器_只要一行Python代码,就能搭建一个共享文件局域网服务器

    不知道大家有没有遇到过这样的情况,在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到U盘,于是麻烦的通过登陆qq.微信等社交软件,或者邮箱等工具进行传输,十分麻烦,让人苦恼. 都说P ...

  6. python实现局域网攻击_牛逼了!一行Python代码搭建一个局域网服务器

    不知道大家有没有遇到过这样的情况, 在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到U盘,于是麻烦的通过登陆qq.微信等社交软件 ,或者邮箱等工具进行传输,十分麻烦,让人苦恼. 都 ...

  7. python 共享文件_只要一行Python代码,就能搭建一个共享文件局域网服务器

    不知道大家有没有遇到过这样的情况,在做项目或者研发的时候,迫切想要将一个文件传输给另一台电脑,却找不到U盘,于是麻烦的通过登陆qq.微信等社交软件,或者邮箱等工具进行传输,十分麻烦,让人苦恼. 都说P ...

  8. 搭建git for windows服务器(100%可以成功)【转】

    转自:http://blog.csdn.net/code_style/article/details/38764203 既然Git在linux下面非常好用,为什么还要搭建git windows的服务器 ...

  9. 基于Ubuntu16.04(64位)搭建WebRTC服务器(目前搭在局域网)

    我的电脑是win764位,WebRTC只能在Linux下搭建,所以我就在虚拟机Ubuntu16.04上搭建的服务器,Ubuntu16.04的apt源不好,有些更新下载不了,就算是翻墙了,还是找不到资源 ...

最新文章

  1. CCNA 2 chapter
  2. 我的梦想是十年内成为架构师,该怎么办?
  3. STM32 之九 HAL 库串口(USART/UART)驱动 BUG 及解决方法
  4. HDU - 4497 GCD and LCM 数论gcd
  5. 用PyMC3进行贝叶斯统计分析(代码+实例)
  6. Modbus协议栈开发笔记之三:Modbus TCP Server开发
  7. FireEye:GreedyWonk行动针对经济和外交政策网站
  8. piccolo2d android,如何在Piccolo2D中打洞?
  9. Spring4Shell 漏洞已遭Mirai 僵尸网络利用
  10. ubuntu里面的任务管理器
  11. django multidb --- router
  12. 编程python视频教程_Python高级编程实战系列视频课程
  13. python数据分析:Numpy
  14. 装机电脑用什么软件测试,有什么一键装机的软件比较好用?
  15. 计算机vb题库程序代码编写,11计算机专业VB试题(二)
  16. python投影Himawari-8数据
  17. 中国内地LCD液晶屏原材料仍正在发展中(二)
  18. HCNE实验指导文档(全)
  19. vtk 中vtkMapper的各函数解析
  20. anaconda安装、部署、卸载——Mac

热门文章

  1. 剑指offer64 不能使用乘除法、for、while、if、else、switch、case 求 1+2+...+n
  2. 51php绑定多个域名,设置Wordpress站点绑定多域名访问 - Mr.bin的博客
  3. hashcode相等的两个对象一定相等吗_为什么重写 equals方法时一定要重写hashCode方法?...
  4. FILO微型计算机,IBM-PC微机组成原理(ppt48)-咨询报告【PPT课件】
  5. 小学计算机组成的说课PPT,小学信息技术说课课件
  6. php map添加元素,html map标签怎么用
  7. 老年机按键串号_2019年最适合买的老人机——AGM M5,4G全网通+支持微信
  8. 程序员在很多人心里的作用...
  9. 谷歌发布:2021年度最受欢迎的开源Chrome插件!
  10. 真香!使用 Goland 网页版实现真正的云开发