clone远程代码 在不同电脑上git_用树莓派3搭建私有git代码仓库
0.出发点
由于项目开发的规模和复杂度越来越大,有时候需要同时多人在不同的嵌入式linux上开发代码,在没有用git管理代码和文档前,很难同步代码和文档的版本,宝贵的代码存储也没有安全感。
github虽然也提供代码托管,但在国内访问github网速令人担忧,并且要建立私有化的github软件仓库还需要付费,宝贵的代码存储在别人的服务器上也没有安全感。
正好手上有闲置的树莓派3一块,拿来搭建私有git代码仓库正好,低功耗的树莓派3全天开启当服务器用完全合理。配合办公用的局域网,一下子私有git代码仓库就能用起来,真好。
搭建软硬件环境要求:
- 硬件:树莓派3
- 系统:ubuntu-mate-16.04
- 所需软件:openssh-server openssh-client python-setuptools git
以下叙述中,git服务器端指树莓派3,git客户端指开发代码的具体机器。
1.git服务器端搭建
(1)树莓派3安装ubuntu-mate-16.04系统
默认大家都已经在树莓派3上安装好了ubuntu-mate-16.04系统,如果没有请参考以下教程自行安装:
ubuntu mate 16.04镜像文件下载地址:https://ubuntu-mate.org/download/
安装参考教程:http://www.ncnynl.com/archives/201606/201.html
(2)安装git、ssh等软件
$ sudo apt-get install git openssh-server openssh-client python-setuptools
(3)新增用户(用户名为slamgit),用于运行git服务,回车后会提示输入密码
$ sudo adduser slamgit
(4)初始化git仓库
#切换到slamgit用户
$su slamgit
#在slamgit家目录新建code目录用于存放git代码仓库数据
$mkdir /home/slamgit/code
$cd /home/slamgit/code#建立自己的裸仓库,用于给git客户端上传需要托管的代码
#加上--bare参数后,服务端是初始化的[裸仓库]一般服务器上的Git仓库都是以.git结尾的裸仓库。
#裸仓库没有工作区,因为服务器上的git仓库是为了共享用,不能让用户直接登录到服务器上去修改工作区中的代码,用裸仓库更加安全
$ git init --bare test.git
现在服务器上面的git仓库已经初始化完成,git客户端可以向相应的仓库上传需要托管的代码了。
上面是建立了一个叫test.git的裸仓库,只是用于测试。在后面的实际项目中,我们可以继续建立更多的仓库,仓库最好以实际的工程名命名,方便管理,比如:
#建立实际项目的仓库,例如miiboo项目
$ git init --bare miiboo.git
(5)测试git服务器搭建是否成功
随便找一台在同一局域网下装有git的电脑,clone刚才创建的test.git仓库
#192.168.0.163为树莓派3的IP地址,根据实际情况进行替换
$ git clone slamgit@192.168.0.163:/home/slamgit/code/test.git
如果在git客户端电脑上出现了test这个文件夹,就说明搭建成功了!!!
2.git客户端使用
(1)给实际代码项目初始化git配置
先进入项目文件夹,通过命令 git init 把这个目录变成git可以管理的仓库;如果是clone网上开源的项目,可以先删除项目文件夹下的.git隐藏文件夹,然后再执行git init命令。
#在项目文件夹下,执行
$ git init
(2)把项目中的文件添加到本地版本库中
使用命令git add 文件,添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件。
$ git add .
(3)提交说明commit填写
用命令git commit告诉Git,把文件提交到仓库,引号内为提交说明
$ git commit –m "init a base version,add a first file for push to server"#如果这一步报fatal的错误,需要执行如下命令设置自己的用户名与email,引号内填上自己的名字和email$ git config --global user.name "xxx" $ git config --global user.email "xxx@xxx.com"
(4)关联到远程仓库
$ git remote add origin 你的远程库地址
#例如:
#git remote add origin slamgit@192.168.0.163:/home/slamgit/code/test.git#如果上面步骤报错,先删除origin,然后重新添加origin
#git remote rm origin
#git remote add origin slamgit@192.168.0.163:/home/slamgit/code/test.git
(5)将本地代码推送到远程仓库
#其中origin是远程仓库名字的别名;master是主分支名
$ git push origin master
(6)用远程仓库同步本地代码
#获取远程库与本地同步合并,如果远程库不为空必须做这一步,否则后面的提交会失败
$ git pull --rebase origin master
3.更多git代码管理操作
(1)版本管理
版本回退
工作区和缓存区
管理修改
撤销修改
删除文件
(2)分支管理
创建与合并分支
解决冲突
分支管理策略
Bug分支
Feature分支
多人协作
(3)标签管理
创建标签
操作标签
clone远程代码 在不同电脑上git_用树莓派3搭建私有git代码仓库相关推荐
- git clone 添加代理_用树莓派3搭建私有git代码仓库
0.出发点 由于项目开发的规模和复杂度越来越大,有时候需要同时多人在不同的嵌入式linux上开发代码,在没有用git管理代码和文档前,很难同步代码和文档的版本,宝贵的代码存储也没有安全感. githu ...
- clone远程代码 在不同电脑上git_如何使用git在本地电脑clone别人的github上的远程仓库代码...
如何使用git在本地电脑clone别人的github上的远程仓库代码背景操作步骤1.在自己电脑创建本地仓库2.git初始化设置.仓库的初始化以及绑定SSH秘钥3.fork别人的github项目,然后c ...
- linux git中央仓库地址,如何在Linux上搭建一个Git中央仓库
前言:本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目.但是对于团队来说可能有更高的要求,可以使用gitlab搭建一个可视化的类似github的版本管理系 ...
- linux中央服务器,如何在Linux上搭建一个Git中央仓库
前言:本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目.但是对于团队来说可能有更高的要求,可以使用gitlab搭建一个可视化的类似github的版本管理系 ...
- 在linux下怎么解除git本地仓库_如何在Linux上搭建一个Git中央仓库
前言:本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目.但是对于团队来说可能有更高的要求,可以使用 gitlab 搭建一个可视化的类似github的版本管 ...
- 在阿里云上搭建私有GIT仓库
在阿里云上搭建私有GIT仓库 年轻人就得好好学习,不能这么颓废 最近做项目练练手,用到了github, 但是github访问速度是真的慢啊,下载项目,下载一天了.所以呢,我是个成熟的人了,只好自己搭建 ...
- linux ubuntu 安装git服务器,[linux] Ubuntu20.04上安装搭建私有Git服务器Gitea
[linux] Ubuntu20.04上安装搭建私有Git服务器Gitea [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea Gitea 是相比于gitlab更加轻量化,而且 ...
- Docker上部署GitLab , 搭建私有Git仓库 (基于Docker镜像sameersbn/docker-gitlab)
# 使用docker-compose.yml 安装gitlab服务器 $ wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/ ...
- clone远程代码 在不同电脑上git_Git 如何 clone 远程 非 master 分支的代码
问题描述 我们每次使用命令 git clone git@gitlab.xxx.com:xxxxx.git 默认 clone 的是这个仓库的 master 分支.如果最新的代码不在 master 分支上 ...
最新文章
- Github无法加载或不显示图片问题
- 如何用python创建一个下载网站-详解如何用python实现一个简单下载器的服务端和客户端...
- 《深入理解计算机网络》读书笔记一
- java npm install_npm install不构建供应商可执行文件
- 三大性质总结:原子性,有序性,可见性
- [leetcode-347-Top K Frequent Elements]
- 设计模式----简单工厂
- Silverlight DataGrid 在显示数据, 如果遇到全角的符号, 好像会出错. 待测试.
- 结构体变量偏移量及大小计算
- rbd export V2
- Mac剪切AVI视频
- 华为数字化转型与数据管理实践介绍 附下载
- 55. VUE 导航守卫
- 类模板和函数模板的区别及其应用案例 c++ 简单易懂
- Ever-Flowers IN Never-Dream(19)
- 浅谈 Nyquist–Shannon(奈奎斯特-香农)采样定理
- 《程序员升职记》 第二年 繁忙的收发室
- Java之下载word文档,java企业级应用架构
- 除法竖式在MathType中该怎样进行编辑
- Kafka安装以及验证
热门文章
- mysql5.5连接器_MySQL :: MySQL 5.1参考手册 :: 26. 连接器
- 对话推荐系统_RSPapers | 对话推荐系统论文合集
- nohup 带参数_广州市西门子两通阀VVF42.40-25C+SKD62带断电
- Gym 101221I [WF2014]Sensor Network (二分图匹配)
- luogu P4725 多项式对数函数 (模板题、FFT、多项式求逆、求导和积分)
- mysql 异常关机后 无法查数据_MySQL数据库非法关机造成数据表损坏怎么排查 | 学步园...
- rust服务器假人文件,rust游戏手机版-rust手游预约(腐蚀游戏手机版)-乐游网安卓...
- 金蝶kis商贸采购单商品代码_金蝶KIS商贸版流程
- 实践作业4:Web测试实践(小组作业)记录1
- Python学习之路:内置函数