7673| 11
|
[讨论] 【转载】用树莓派搭建Git私有服务器(下载源) |
前言: 前几天,看到一个网友说的,想自己搭建一个树莓派的下载源的,今天刚好看到了这个教程,就转载过来,让他也看看吧。 ==================以下正文============ 话说当年linux内核开发者林纳斯·托瓦兹(Linus Torvalds)为了更好的管理Linux内核开发创下git以来,时至今日,当下最流行的『版本管理系统』已非git莫属了! 笔者私下认为,git相比其他的版本管理系统(csv, svn等)来,最大的方便莫过于分支(branch)的操作十分便捷。 但项目开发分支如何管理,萝卜白菜各有所爱,见仁见智。笔者因工作需要,经常要参与国际化团队的协作开发,git乃是必不可缺之利器之一。 最近我利用树莓派为我所有的Git仓库创建了一个Git私有服务器。我花费了一些时间来使每件事情正确工作,但现在它已经能跑起来了。 安装Git 首先你需要在树莓派上安装Git. sudo apt-get install wget git 这将会安装Git服务器和必要的客户端软件。 安装SSH 如果你还没有安装SSH,通过以下命令安装它:sudo apt-get install ssh 通过以下命令启动它: sudo /etc/init.d/ssh start 现在ssh已经运行起来了,但是一旦你重启树莓派,你还需要重新执行一遍上面命令。你可以通过执行一次下面的命令来解决这个问题: sudo update-rc.d ssh defaults 当你重启树莓派,SSH应该能够自动启动了。你可以看看能不能通过SSH连接到树莓派,在你的Windows机器上使用Putty(Mac用户需要寻找替代的SSH客户端)。 在HostName文本框里输入树莓派的IP地址。通过以下命令找到你的树莓派IP: /sbin/ifconfig 找到inet addr:后面的就是IP。 改变主机名 这一步不是必须的,但是我强烈推荐如果你正计划或者已经在使用多台树莓派设备了。 sudo leafpad /etc/hostname 输入你想要的主机名,然后保存文件。我的主机名是”gitpi”。 接着,输入下面的命令: sudo leafpad /etc/hosts 替换所有”raspberrypi”为你上一步输入的新主机名。然后,重启你的树莓派。 添加一个”Git”用户和组 接着我们来创建一个”Git”用户和用户组。注意/home/git是这个例子里我使用的文件夹。如果你想使用别的路径,替换下面命令里的”/home/git”。 adduser --system --shell /bin/bash --gecos 'git version control by pi' --group --home /home/git git 接着是更改密码: passwd git 你的”git”用户现在有了一个新密码。现在尝试切换用户,你将会看到现在的终端提示用户名和主机为”git@gitpi”。你可以通过下面的命令切换用户: su git 增加一个空的Git仓库(Git Repository) 我们现在来增加一个空的Git仓库. 首先更改目录到你存储git的路径下。 cd /home/git 为你的仓库创建一个文件夹,并移动进去,然后初始化并清空仓库。 注意我现在使用的是”git”用户。这个用户具有/home/git目录的控制权。 mkdir test.git cd test.git git --bare init Push你的代码到Pi上 最终,我们会把代码push到树莓派上。首先,更改路径到你之前初始化的git仓库(或初始化一个新的)。 加入一个新的远程主机(*你的IP地址没有中括号) mkdir test.git cd test.git git --bare init git remote add pi git@[your IP]:/home/git/test.git 现在你要做的就是add你的代码,commit然后push。 git add . git commit -am "Initial" git push pi master 如果你得到了一个类似这样的消息”authenticity of host …”只需要输入”yes”然后继续就可以了。 理想情况下,如果一切正常,你的Git仓库已经搭建在你的树莓派上了。 如果你想要测试一下,试着clone你的仓库到你的Windows机器上。首先更改路径到你希望存储clone的地方(一个空文件夹),然后通过命令行(或git bash),运行: git clone git@[your IP]:/home/git/test.git |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed