shell脚本同步私人git仓库
前言
分别在个人电脑、个人服务器、码云三个地方建立了数据仓库用于保存自己的各种数据,通过git
+shell
进行数据同步。
此举不仅可以避免因存储损坏、版本更迭、数据误操作等因素带来的各种麻烦,也能实现各种环境下的便捷开发、合作开发。
这篇博客属于事件记录,因此只贴出代码,望诸君见谅!
建立仓库
服务端(Ubuntu18.04):
# 为git仓库创建管理员
su root
adduser git
... # 输入密码信息,也可以在root下输入命令 sudo passwd ${username} 重置密码
su git
cd ~
# 在git用户目录下建立仓库,假设git已安装好
mkdir db_1;cd db_1;
git --bare init; # 远程仓库必须加--bare参数,否则以后会出问题
# 创建存放密钥认证文件,并放入客户端公钥(不演示)
vim ~/.ssh/authorized_keys;
客户端(windows7):
# 创建仓库
git init
# 推送文件或下拉文件,在此以shell脚本形式贴出
码云:
码云需要创建仓库,同上面一样建立两个分支,然后将公钥加入到个人信息中,具体自查。
数据同步
# push.sh
# ========================================================================= #
#!/bin/bash
remoteAd_1=giteeAddress;
remoteAd_2=serverAddress;
remoteBranch=develope;
name=user;
time=`date '+%Y-%m-%d %H:%M:%S'`
# according to the second parameter, choose the branch
if [ -n "${2}" ]; then
if [ ${2} == "m" ]; then
echo -e "\e[37;41m remoteBranch is [ master !!!] ... \e[0m";
remoteBranch=master;
fi
else
echo -e "\e[37;41m remoteBranch is [ develope !!!] ... \e[0m";
fi
# send file to remote database
function push(){
echo -e "\e[32;40m \n step 1: git add .\n \e[0m"; # shell字体颜色设置
git add .;
echo -e "\e[32;40m \n step 2: git commit -m \n \e[0m"
git commit -m "${time} -- ${name}";
echo -e "\e[32;40m \n step 3: push the studyNote to my server... \n \e[0m"
git pull ${remoteAd_1} ${remoteBranch}:master;
git push ${remoteAd_1} master:${remoteBranch};
echo -e "\e[32;40m \n step 4: push the studyNote to my server... \n \e[0m"
git pull ${remoteAd_2} ${remoteBranch}:master;
git push ${remoteAd_2} master:${remoteBranch};
}
# get file from remote database
function get(){
echo -e "\e[32;40m \n step 1: get the studyNote from gitee....\n \e[0m"
git pull ${remoteAd_1} ${remoteBranch}:master;
}
# choose the way of p(push) or g(pull)
if [ -n "${1}" ]; then
if [ ${1} == "p" ]; then
push
elif [ ${1} == "g" ]; then
get
fi
else
echo -e "\e[31;40m \n ======= please input your args !!!!!! ======= \e[0m";
fi
# ========================================================================= #
结语
人类的本质就是复读机,没错,我也是~
时间: 2020/08/16 00:54
坐标: 广东深圳
shell脚本同步私人git仓库的更多相关文章
- shell脚本批量调用git命令
有时候想对本地的几个repository都进行一下pull,一个一个操作比较繁琐,所以写了个shell脚本进行简化操作. git_pull_all.sh #!/bin/sh clear functio ...
- gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
情况如下: 我在ubuntu server 14.04 上面安装了gitlab,来托管项目代码.然后想通过gitlab的web hook 功能来做测试服务器代码自动化更新代码功能.现在遇到一个问题:就 ...
- windows调起git bash执行sh脚本定时统计git仓库代码量
本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|so ...
- 在linux写一个shell脚本用maven git自动更新代码并且打包部署
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh ...
- shell脚本自动更新git
gitpull.sh #!/bin/bash cd /home/wwwroot/default/mouse && git pull cd /home/wwwroot/default/s ...
- windows下数据库文件使用脚本同步到linux下的mysql数据库中
1.背景 windows server 2008 下 每天会有 *.sql数据文件 需要上传到linux 中的mysql数据库中 而运维人员是在 windows server 下使用 xshell 连 ...
- Shell基础(一):Shell基础应用、简单Shell脚本的设计、使用Shell变量、变量的扩展应用
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境 2> 练习命令历史.命令别名 3 ...
- 该死的端口占用!教你用 Shell 脚本一键干掉它!
1. 前言 大家好,我是安果! 在 Web 开发中,经常会遇到「端口被占用」的场景 常规解决方案是: 使用 lsof -i 命令查询占用端口的进程 PID 利用 kill -9 PID 干掉目标进程 ...
- OSChina中远程GIT仓库同步探索
GIT平台在OSChina中的搭建帮了我们很大的忙,但如何将本地GIT仓库上传至OSChina的远程仓库,相信这是一个艰难的坎,今天我就在此总结我的成功经验,帮助大家,共同学习.由于条件有限,我全部的 ...
随机推荐
- 性能分析(2)- 应用程序 CPU 使用率过高案例
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 系统架构背景 其中一台用作 Web 服务器,来模拟 ...
- C语言中的数据转换和定义常量
一.数据转换 1.数据类型转换:C 语言中如果一个表达式中含有不同类型的常量和变量,在计算时,会将它们自动转换为同一种类型:在 C 语言中也可以对数据类型进行强制转换: 2.自动转换规则: a)浮点数 ...
- TearmQuery()
lucene 中的 TearmQuery() 在.search( tearmQuery, q)查询时 比较矫情 q只能是小写
- 自定制格式化方式format
自定制格式化方式format # x='{0}{0}{0}'.format('dog') # # print(x) # class Date: # def __init__(self,year,mon ...
- python1.2元组与字典:
#定义元组(),元组与列表类似但元素不可以更改a=(1,2,3,4,5,6,"a","b","c","d"," ...
- 一张图理清 Python3 所有知识点
如果你前几天一直有关注 GitHub Trending,那你应该会留意到「Python3 in one pic」这个开源项目. 很多人学习python,不知道从何学起.很多人学习python,掌握了基 ...
- Eclipse工具的简单使用
前言 虽然编写Java用Idea比较好,但是对于正处于大学阶段的我,还是要和老师的步伐保持一致,但是,用的Idea这个工具多了,我就感觉对eclipse这个工具不是怎么熟悉了,甚至还有点对一些工具的使 ...
- MyKTV系统项目的感想
不粉身碎骨,何以脱胎换骨! 3月11号,我们迎来S1的尾巴.这期间有温暖,默契,有项目.一切刚刚好.刚刚正式接到KTV这个微微型的项目的时候,还是很害怕的,虽然老师在前两天就已经提到也讲到,KTV系统 ...
- java面试的一些问题
面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...
- 怎么对比两个excel文档的数据差异
百度经验: https://jingyan.baidu.com/article/6181c3e0877c7a152ef15304.html