多个git合并,并保留log历史记录
面临的需求是:将多个git仓库作为一个单独目录,整合到一个新的git仓库中;并且保留历史记录。
1. 新建一个summary仓库
新建一个summary仓库,用于整合一系列git仓库。
git clone <http_url>/summary.git
cd summary
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
2. 将其它git仓库merge到summary中
git remote add alias_memory <http_url>/memory.git-------------------------将memory.git作为别名alias_memory加入到当前仓库中。
git fetch alias_memory----------------------------------------------------从alias_memory拉取数据到summary仓库。
git checkout -b branch_memory alias_memory/master-------------------------将alias_memory/master分支内容对checkout到summary仓库的branch_memory分支。。
git checkout master-------------------------------------------------------切换到summary仓库的master分支。
git merge branch_memory---------------------------------------------------将branch_memory分支合并到master分支。
至此就将memory仓库的内容merge到了summary仓库中。
但是此时summary中目录结构和memory一样,就需要将新建一个memory目录,并将memory仓库中对应文件移到summary仓库的memory目录中。
mkdir memory
git mv xxx memory--------------------------------------------------------这里面使用git mv要优于mv,git mv的结果就是一个rename操作。
git commit -s -m "Merge memory.git to memory."
git push -u origin master
依次重复上面内容,即可将多个git仓库合并到summary中。
多个git合并,并保留log历史记录的更多相关文章
- svn迁移到git仓库并保留commit历史记录
svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如 ...
- svn 迁移到 git 仓库并保留 commit 历史记录
1.svn 转换为 git(会提示,让你输入先前 svn 的账号与密码) # 切换至 本地项目目录 cd /Users/jianbao/PhpStormProjects/fiisoo/ # 克隆 sv ...
- 如何用 Git 合并两个库,并保留提交历史
转载自 https://segmentfault.com/a/1190000000678808 背景 一个中型规模项目,开始规划时就打算采用 C/S 架构,后端是单纯的 API 服务,前端在 Web ...
- git rebase VS git merge? 更优雅的 git 合并方式值得拥有
写在前面 如果你不能很好的应用 Git,那么这里为你提供一个非常棒的 Git 在线练习工具 Git Online ,你可以更直观的看到你所使用的命令会产生什么效果 另外,你在使用 Git 合并分支时只 ...
- Git永久删除文件和历史记录
目录 Git永久删除文件和历史记录 使用filter-branch 添加到.gitignore文件里并push修改后的repo 清理和回收空间 Git永久删除文件和历史记录 造成你想从git存储库中永 ...
- git合并多个提交
git合并多个提交 [时间:2016-11] [状态:Open] [关键词:git,git rebase,合并提交,commit] 0. 引言 本文是关于Git提交记录修改的方法,主要是将多个提交记录 ...
- 2-1 git合并 打tag
tag常用命令(仅供参考): git tag -a V1.4 -m "1.4" 创建一个tag git tag 查看本地tag git tag -d V1.1 删除本地tag g ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- git 合并两个仓库
我有两个仓库,一个是gitbook在写一本 一个是放在github的垃圾,这个是我想要开个人网站,但是做的还是不行https://github.com/lindexi/lindexi.github.i ...
随机推荐
- SpingSecurity + SpringSession 死磕
SpingSecurity + SpringSession 整合 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty ...
- spingboot 2.1.3 与 elasticsearch7 兼容问题
pom 加入 elasticsearch7 的依赖, <dependency> <groupId>org.elasticsearch</groupId> < ...
- linux服务器JDK1.8环境变量配置
1. 场景描述 软件老王年龄大了,新机器(Linxu)下,配置JDK环境变量老记不住,记录下,有需要的朋友参考下. 2. 解决方案 2.1 上传tar包 ftp上传tar包: jdk-8u181-li ...
- Filter List Views 筛选器列表视图
In this lesson, you will learn how to filter a List View. Three techniques, based on different scena ...
- digitalworld.local:Torment Vulnhub Walkthrough
主机层面扫描: ╰─ nmap -p1-65535 -sV -A 10.10.202.135Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-09 ...
- QT--吃月亮小游戏
QT--吃月亮小游戏 简介: 该设计使用了鼠标事件.键盘事件.绘图事件,可通过鼠标或者方向键控制人物移动吃到月亮 代码: 1.widget.h文件: #ifndef WIDGET_H #define ...
- 通过 Telegraf + InfluxDB + Grafana 快速搭建监控体系的详细步骤
第一部分 Telegraf 部署和配置 Telegraf 是实现 数据采集 的工具.Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展. 在平台监控系统中,可以使 ...
- vue.set( target, key, value ) this.$set(对象获数组,要更改的具体数据,重新赋值)用法
调用方法:Vue.set( target, key, value ) target:要更改的数据源(可以是对象或者数组) key:要更改的具体数据 value :重新赋的值 具体用法js代码: //设 ...
- (day68)Vue-CLI项目、页面跳转和传参、生命周期钩子
目录 一.Vue-CLI (一)环境搭建 (二)项目的创建 (三)项目目录结构 (四)Vue组件(.vue文件) (五)全局脚本文件main.js(项目入口) (六)Vue请求生命周期 二.页面跳转和 ...
- Bit Manipulation-leetcode
Bit Manipulation Find the Difference /* * Given two strings s and t which consist of only lowercase ...