GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
#PC解决方案,2015年从Vss迁移到Git 一共三个项目
#F:\WWW\F.COM\WWW
Flight.sln
Flight.suo
Web #PC项目 Qr #第三方接口项目 2015年新增项目,也使用PC解决方案但用分支进行管理,维护单独的通用项目,目前已经将通用项目分离到单独的分支进行单独维护(仅添加要引用的Dll即可)
QunarTTS #第三方接口服务项目2015年新增项目,也使用PC解决方案但用分支进行管理,维护单独的通用项目,目前已经将通用项目分离到单独的分支进行单独维护(仅添加要引用的Dll即可) #所有通用项目,仅 PC&手机&第三方项目提供统一的支持
BLL
Model
Common
WebHelp
SqlServerDAL
DBUtility
Languages
FlightAPI #机票Api Mobile #手机项目,需要从另一解决方案合并过来
#手机解决方案,所有DLL都会引用PC通用项目的DLL
#因为当时考虑手机跟PC的View和大部分功能不一样,所以单独一个解决方案来做
#F:\WWW\F.COM\Mobile
WebApp
WebApp.csproj #手机项目
WebApp.sln #解决方案
WebApp.suo
- 因为 PC,第三方接口,接口服务都共同维护了通用项目,所以导致我频繁在这三个项目之前切换合并(保存通用项目文件一致) 已解决
- 手机解决方案同其他项目一样,都使用同一通用项目的Dll但不单独维护,为什么要独立一个解决方案,决定合并到PC解决方案以分支的方式管理
- 将PC,第三方接口,接口服务等所有通用项目从三个分支里分离到单独的分支里统一管理
其他项目如果要更改通用文件必须切换到分支然后生成再切换回来重新添加新的Dll即可(确保通用项目文件一致性) - 将手机解决方案中的项目合并到PC解决方案里,然后以新的分支Mobile进行维护
- 在本地新建Git仓库
- 在新仓库添加文件和更改,产生提交历史(也可以创建分支,Tag等)
- 在本地创建新分支并切换(栗子中直接在master操作的)
- 使用“git remote add -f demo2 f:\demo\d2”添加远程仓库 (demo2为远程仓库名, f:\demo\d2为远程仓库地址),将会获取远程提交历史,但没有远程文件
- 使用“git subtree add --prefix=d/2 f:\demo\d2 master --squash”引入外部仓库, --prefix=d/2 为在本地创建的子目录(子目录如果存在需要删除),后面是远程地址和分支名, 将会pull远程文件到本地目录如f:\w\d\2
- 使用“git merge -s subtree demo2/master”合并远程分支到当前分支,demo2/master 为 远程仓库/远程分支名
- 使用“git remote remove demo2”删除远程仓库分支,并删除合并自远程仓库的所有分支和Tag(不删除会出现 "demo2/master"这样的分支和Tag)
- 在本地进行操作,提交commit .....


使用 git-subtree 以子目录形式引入外部项目 Git submodule VS Git Subtree Git Subtree命令剖析 使用 git subtree 來分拆子目錄成獨立的新 repo
GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?的更多相关文章
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM
题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...
- 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中
转载请注明出处 http://www.goteny.com/articles/2014/06/136.html http://www.cnblogs.com/zjjne/p/3778640.html ...
- git只合并某一个分支的某个commit
第一种情况:只合并一个commit git checkout develop-hbb git cherry-pick 7c32be61 以上,7c32be61是develop上的一个fix bug的c ...
- git提交空文件夹和删除远程文件
git提交空文件夹 在文件夹中创建 .gitkeep 文件,文件内容如下 # Ignore everything in this directory * # Except this file !.gi ...
- git强制合并另一个分支
New分支和Old分支都修改了同样的部分,有冲突,但是想在Old分之上合并New分支的内容,并且以New分支为主,就是不自己手动解决冲突,碰到冲突,直接以New分支为主. 参考 https://git ...
- Git拉取远程仓库代码并更新本地仓库
1.git pull:获取最新代码到本地,并自动合并到当前分支 //查询当前远程分支 $ git remote -v //直接拉取并合并最新代码 $ git pull origin master [示 ...
- Git 将子文件夹分离为一个新的库
前面的需求 公司Android的项目上,想要将一些module抽取出来,作为一个可以被其它项目上使用的. 所以使用了git submodule的方案. 为了将代码库中的一个文件夹分离后,作为一个单独的 ...
- 通过创建临时表合并某一个库的hive小文件
#!/bin/bash #需要指定hive中的库名 #set -x set -e DB=$1 if [ -z $1 ];then echo "Usage:$0 DbName" ex ...
随机推荐
- 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’
这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...
- 使用 IntraWeb (5) - 页面布局之 TFrame
IW 对 TFrame(还是之前那个), 这在页面布局中很有用. 如果多个页面都有一个共同的部分(譬如页眉.页脚.菜单.边栏等), 可以将这些共同的部分放在一个 TFrame 中, 从而方便统一与修改 ...
- 收集的一些MikroTik RouterOS 5.x破解版
链接:https://pan.baidu.com/s/1RyREMfrpLkpQ-AIcDQES_Q 密码:byhd
- spring cloud 学习(10) - 利用springfox集成swagger
对绝大多数程序员而言,写接口文档是一件痛苦的事情,相对文档,他们更愿意写代码.最理想的情况就是:代码即文档!服务开发完成后,部署上去文档就自动生成,没错,这就是springfox + swagger要 ...
- spring-boot 速成(9) druid+mybatis 多数据源及读写分离的处理
按上节继续学习,稍微复杂的业务系统,一般会将数据库按业务拆开,比如产品系统的数据库放在product db中,订单系统的数据库放在order db中...,然后,如果量大了,可能每个库还要考虑做读.写 ...
- LightOJ 1118 - Incredible Molecules (两圆面积交)
1118 - Incredible Molecules PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit: ...
- SNK 与PFX
snk 1用来证明这个生成的程序集是你发布的: 2如果你写的程序集要用在多个应用程序上的话,那么这个程序集必须要拥有唯一的名称,这个强名称是程序集唯一名称的一部分. 3只要你保护好你的snk文件不要公 ...
- 报错:System.NotSupportedException: LINQ to Entities does not recognize the method
报错:System.NotSupportedException: LINQ to Entities does not recognize the method ...... get_Item(Int3 ...
- SQLServer2008:在查看表记录或者修改存储过程时出现错误。错误消息为: 目录名无效
登陆数据库后,右键打开表提示:目录名无效,执行SQL语句也提示有错误,本来想重装的这个肯定能解决,但是这个方法真的不视为上上策啊,于是在网上找到了这个解决办法,还真是立即见效啊!分享给大家,希望有帮助 ...
- Python可视化库
转自小小蒲公英原文用Python可视化库 现如今大数据已人尽皆知,但在这个信息大爆炸的时代里,空有海量数据是无实际使用价值,更不要说帮助管理者进行业务决策.那么数据有什么价值呢?用什么样的手段才能把数 ...