GitHub合并2个项目并保留commit记录
来源:互联网 发布:mac版的ps怎么破解 编辑:程序博客网 时间:2024/05/16 11:51
GitHub有两个项目Pro1和Pro2,现打算将Pro2整个项目移动到Pro1,并保留2个项目的commit记录。
移动前Pro1目录结构为:文件Pro1.txt、文件Pro123、文件README.md、文件夹pro1dir/,项目 Pro2类似。
移动后目录结构为Pro/Pro1/*;pro/Pro2/*(Pro1重命名为pro)。
建议新建测试项目Pro1、Pro2熟悉一下流程,或者备份原有项目,避免误操作产生意料之外的效果。
1、clone项目Pro1到本地
git clonehttps://github.com/zxiaofan/Pro1.git
cd Pro1
2、在Pro1项目根目录新建文件夹Pro1,并将原Pro1项目所有文件移动至Pro1/下(如果不需要完全区别两个项目可忽略)
mkdir Pro1
cd Pro1
vi pro1.txt 输入描述信息(move Pro1 to new dir)
如果时github网页创建新文件,则create new file》文件名框中输入文件夹名Pro1/(有个斜杠),在输入文件名即可。
# 移动所有文件(夹)到新文件夹Pro1
cd ..
mv Pro123 README.md pro1dir/ Pro1
3、提交所有变更到github
# 将文件的修改、删除、新建添加到暂存区
(注意区别:git add -u:将文件的修改、文件的删除,添加到暂存区;git add .:将文件的修改,文件的新建,添加到暂存区)
git add -A
git status
git commit -m "move Pro1 all files to new dir"
git push (可能会输入用户名密码)
4、移动项目Pro2的所有内容到Pro1
# 将新项目添加到旧项目中
git remote add Pro2https://github.com/zxiaofan/Pro2.git
# 校验是否添加成功
$ git remote -v
Pro2 https://github.com/zxiaofan/Pro2.git (fetch)
Pro2 https://github.com/zxiaofan/Pro2.git (push)
origin https://github.com/zxiaofan/Pro1.git (fetch)
origin https://github.com/zxiaofan/Pro1.git (push)
# 获取新项目内容
git fetch Pro2
# 合并新项目Pro2到本地项目Pro1
git merge Pro2/master
Note 如果报错:fatal: refusing to merge unrelated histories
此错误出现在2.9.0版本后,在命令后添加执行参数--allow-unrelated-histories即可
git merge Pro2/master --allow-unrelated-histories
会提示你输入merge信息:比如输入:mergee Pro2 to Pro1
参考操作2,将Pro2的所有内容移动到新建文件夹Pro2中。
5、参考操作3,提交所有变更到github
6、项目重命名
前往github官网,在项目Pro1的Settings中重命名Pro1为Pro。
Note:Pro1重命名为Pro后,原Pro1的地址将重定向到新的Pro项目的地址。
至此2个github项目合并完毕。
可参考本人合并后的项目:https://github.com/zxiaofan/springStudy,该项目是有SpringBootStudy、SpringDataStudy两个项目合并到chapter(合并后更名为SpringStudy)项目,保留了原有的所有commit记录。
欢迎个人转载,但须在文章页面明显位置给出原文连接;未经作者同意必须保留此段声明、不得随意修改原文、不得用于商业用途,否则保留追究法律责任的权利。【 CSDN 】:csdn.zxiaofan.com【GitHub】:github.zxiaofan.com如有任何问题,欢迎留言。祝君好运!Life is all about choices! 将来的你一定会感激现在拼命的自己!
阅读全文
0 0
- GitHub合并2个项目并保留commit记录
- github删除错误的commit并保留之前的提交
- gnome-logs开发记录2--合并git的多个commit--Gnome开发记录
- squash commit合并多个commit
- Git合并多个commit
- git commit提交次数记录合并
- 多个commit 合并为一个patch
- 多个commit 合并为一个patch
- 多个commit 合并为一个patch
- git rebase 合并多个 Commit
- 「Git」合并多个 Commit
- Git——合并多个commit
- Git使用rebase合并多个commit
- 「Git」合并多个 Commit
- 「Git」合并多个 Commit
- Git命令合并多个Commit
- svn迁移到git仓库并保留commit历史记录
- svn迁移到git仓库并保留commit历史记录
- Kotlin编程之Break标签和Return标签及Continue标签
- 基于docker1.7.03.1单机上部署hadoop2.7.3集群
- 3、线程的同步互斥技术和通信
- 2017年六月三日 NO.5 HTML(四)——处理文档细节的标签(笔记)
- 面向对象编程——Python学习笔记07
- GitHub合并2个项目并保留commit记录
- 数据结构上机实验之顺序查找
- 表达式类算法题小结
- CSS手记(三)
- DNS在架构设计中的巧用
- 第七届山东省赛 Feed the monkey(dp)
- linux下 javaweb 运行tomcat服务器 server name无法自动填充问题
- CodeForces
- 游戏策划游戏研发必读经典题文五