设为首页 收藏本站
查看: 844|回复: 0

[经验分享] 阿里云 linux搭建git服务器

[复制链接]

尚未签到

发表于 2018-1-13 11:19:27 | 显示全部楼层 |阅读模式
  git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器。
  在linux上面搭建git服务器是一件非常轻松的事情,只需要按照以下几步就能完成。为了确保整个过程的顺利,最好新创建一个名为git的账号,再使用该账号进行配置
  1.安装git
  在linux系统中,git安装只需要简单命令就可以完成,只需要打开终端,输入
  

sudo apt-get update  
sudo apt-get install git
  

  如果已经安装过了的就跳过这一步。
  2.创建git仓库
  终端进入到用来存放仓库的目录,新建一个文件目录,命名为: <工程名>.git ,比如 project.git , 命令行操作如下:
  

mkdir project.git  

  进入到该目录下,初始化git repository
  

cd project.git  
git --bare init
  

  可以看到,在当前目录下自动生成了多个文件
  branches  config  description  HEAD  hooks  info  objects  refs
  到这一步,git远程仓库已经搭建好了。
  3.获取远程仓库地址
  远程仓库的地址一般组成的格式是:
  <用户名>@<服务器地址>:<仓库全路径>
  用户名就是当前登录的账号的名称,比如我当前用的是 git账号,用户名就是git
  服务器地址就是远程服务器的地址,比如 120.21.11.21
  仓库全路径这个也不难理解,直接在project.git目录下输入pwd,获取project.git的全路径。
  比如:
  /home/git/gitRepository/pythonServer/project.git
  那么整个远程仓库的地址就是:
  git@120.21.11.21:/home/git/gitRepository/pythonServer/project.git
  这个先记下来。
  4.客户端工程初始化
  在客户端新建工程project目录,进入该目录,创建README文件,往文件里面随便写一些东西。
  

mkdir project  
cd project
  
touch README.md
  
echo "hello" >> README.md
  

  5.客户端git初始化
  如果客户端没有安装git的话也可以按照第一步的方式进行安装,安装好了之后,进入到project目录下,建立git本地仓库。
  

git init  

  本地仓库初始化提交。
  

git add README.md  
git commit -m "init"
  

  6.本地仓库与远程仓库绑定
  故名思议,就是让本地的git仓库和远程的git仓库进行绑定。这里需要用到的是之前记下来的远程仓库的地址,也就是
  root@120.21.11.21:/home/git/gitRepository/pythonServer/project.git
  命令行的绑定方式是:
  

git remote add origin git@120.21.11.21:/home/git/gitRepository/pythonServer/project.git  

  到了这一步绑定已经成功了,这个时候我们已经可以使用git push 和git pull 进行上传和下拉了,但是你会发现使用上传下拉都需要输入一次远程服务器的密码,非常不方便。为了能免密码上传下拉,需要借助ssh协议。
  7.生成客户端ssh公钥
  git的远程推送功能需要用到ssh协议,linux自带ssh工具,可以很方便地满足我们的需求。
  首先确认一下客户端本地是否已经存在ssh的公钥,可以直接输入
  

cat ~/.ssh/id_rsa.pub  

  如果返回了一串以ssh-rsa开头的字符串的话则说明之前已经存在公钥了,可以直接将这一串字符串复制下来。如果该条命令提示文件不存在或者是返回值为空的话,则需要创建公钥,只需要在命令行输入:
  

ssh-keygen  

  默认直接按回车,就会自动在~/.ssh/ 目录下创建id_rsa.pub,并且生成公钥,此时再用上面的方法,复制公钥。
  8.服务端授权ssh公钥
  接下来要做的是将客户端的公钥注册到服务端中,打开服务端控制台,输入:
  

cat "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9+VK1abwzJg+VjxGwpwKnsYU3eBEjXolQKUfKxEAMO9DREvdFrvIF5KhBE9HJTp7CEFcAfgP6xkJdxchQcEUyPyda9mIz6M4OOeuuLcxJcrqqJWTN0Jj78I/kDUZUJZF7bcV4q0CyeZG1fo5ckjxOmFaYkCGcq8vmeuFySFpco71UMkudzclrtGa53AvfmuOP1u96CEud78p2gYrPP5qr9ZYBNM+E290ddGMV61rnEiL7taAsXMGpuCQSbI0/zBJ3YXvN/lJSOVHFSeMFbKv7WDSJFSiBVHXjtcDa5RvzzWaFMBV8+SW4zluhijp6Dvb7pHBaLhLg/JvOixmR1/or OboBear" >> ~/.ssh/authorized_keys   

  这双引号里面一大串的就是你之前复制的公钥,整句命令所做的事情就是将客户端的公钥添加到服务端的ssh授权表中。
  9.客户端git推送
  客户端终于可以进行免密码的上传了(push)和下拉(pull)了,回到客户端project目录下,进行第一次上传,输入:
  

git push -u origin master  

  如果最后没报错的话,就说明推送成功了。
  10.测试获取
  推送上去了,当然也要测试一下能不能获取下来。这个我们可以再建一个新的工程目录,比如:projectCopy
  进入到该工程目录,输入:
  

git clone git@120.21.11.21:/home/git/gitRepository/pythonServer/project.git  

  如果能正常克隆下来的话,那么就恭喜了,git服务器一整套的内容全部走通了,接下来就可以享受私人的git服务了
  转自:https://yq.aliyun.com/articles/53288
  11、eclipse提交与下载项目
  参考:http://blog.csdn.net/hhhccckkk/article/details/10458159

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434610-1-1.html 上篇帖子: Git安装与上传代码至Github 下篇帖子: git工作操作步骤
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表