git subtree:无缝管理通用子项目】的更多相关文章

移动互联网的爆发以及响应式页面的尴尬症,开发web和mobile项目成为了标配,当然实际情况下,会有更多的项目. 多项目开发对于前端来说是个很大的挑战✦ 重复,重复的前端架构,重复的前端依赖,重复的工具函数等✦ 局限,不同后台有不同的规则,“因地制宜”真难受,刚伺候好rails又突然来个php✦ 最优,后台工程做前端构建,总是显得不够“最优”. 所以,我们需要单独抽离出前端开发项目,按照前端的方式来组织代码,通过构建工具来对前端资源文件做最优处理那么新问题来了,如何管理这个快速迭代,频繁更新的前…
如果你的项目中有很多第三方的lib,你希望使用它,并且也希望可能对该lib做修改并且贡献到原始的项目中去,或者你的项目希望模块化,分为几个repo单独维护,那么git subtree就是一个选择.git subtree管理的子项目在父项目中作为一个完整的代码copy存在,并不包含历史信息.综合考虑git subtree和git submodule的优缺点,一个可行的管理策略是:使用git subtree对父项目(在该父项目中可以临时将子项目文件夹加入到tracking中)做split,将需要单独…
git subtree 是不错的东西,用于 git 管理子项目. 本文记录我遇到问题和翻译网上的答案. 当我开始 pull 的时候,使用下面的代码 git subtree pull --prefix=<本地子项目目录> <远程库仓库地址 | 远程库别名> <分支> --squash 其中--squash 参数是把子项目的记录合成一次 commit 提交到主项目,这样主项目只是合并一次 commit 记录. 但是在我执行这句代码的时候,出现下面的错误 Working tr…
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/8427796.html 场景一:已有一个大项目,需要把其中一部分内容独立出来作为共用子项目,被其他项目引用 一:先分拆 cd 项目A git subtree split -P 项目A的某个目录 -b 子项目名 cd ../ mkdir tempDir cd tempDir git init git pull ../项目A 子项目名 git remote add 子目录名 子项目仓库地址 git push 子项…
Git Subtree 的原理 首先,你有两个伟大的项目——我们叫他P1项目.P2项目,还有一个牛逼的要被多个项目共用的项目——我们叫他S项目.我们通过简要讲解使用Subtree来同步代码的过程来解释Subtree的原理 1.初始化子项目Subtree 通过 cd P1项目的路径 git subtree add --prefix=用来放S项目的相对路径 S项目git地址 xxx分支 这样的命令,把S项目(我们姑且叫他S项目)的代码下载到--prefix所指定的目录——我们姑且叫他S目录把,并在P…
原文:http://aoxuis.me/post/2013-08-06-git-subtree 使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思: AI子目录使用AI的git项目来填充,内容保持一致. 当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来. 反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项…
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次子项目修改了后要init和update.万一哪次没update就直接"commit -a" 或者 "add ." 全commit上去就悲剧了. git subtree虽然比git submodule更好用,但也不是特别完美的解决方案,使用时一定要特别注意. git-su…
git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI的git项目关联,有3层意思: 1.AI子目录使用AI的git项目来填充,内容保持一致. 2.当AI的git项目代码有更新,可以拉取更新到Game项目的AI子目录来. 3.反过来,当Game项目的AI子目录有变更,还可以推送这些变更到AI的git项目. 用git subtree可以轻松满足上面的需求…
git是一款非常流行的分布式版本控制系统,使用Local Repository追踪代码的修改,通过Push和Pull操作,将代码changes提交到Remote Repository,或从Remote Repository中获取代码的最新版本,实现团队源代码的共享和管理.VS2013 集成了git插件,能够使用git进行源代码管理,比如:Merge Branch,Code Review,Code Changes的Push和Pull等,这里简单介绍一下VS2013中git插件的使用. 一,创建Re…
1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取(Fetch):从远程版本库获得最新版本 合并(Meger):将两个版本库进行合并操作 提交(Commit):将所做的更改,存入本地暂存库 推送(Push):将所做的更改,存入远程版本库 同步(Pull+Push):先将远程库拉取,再将本地库推送到远程库,相当于(Pull+Push) 变基到(Swi…
这个是备忘录.原网页(https://medium.com/@porteneuve/mastering-git-subtrees-943d29a798ec , http://cncc.bingj.com/cache.aspx?q=master+git+subtree&d=5034897297048421&mkt=zh-CN&setlang=en-US&w=LLr-ePxnq8vxmyPDrHjzRWkbxVPwbcO4)被gfw墙,从cache中复制过来的,以备忘. Mas…
基于git的源代码管理模型--git flow A successful Git branching model…
在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完成了,具体操作可以参考助教学长的blog:link1. 下图是我们小组完成的截图: 使用Git进行代码管理 Git的安装 代码管理的步骤 问题 SSH Key的创建 fail push的问题 1.Git的安装包在学校机房就已经下载完毕,用U盘拷贝后直接安装,安装过程根据提示很顺利完成.安装完成后包含…
GITHUB上的预备活动: 注册 创建小组Organization,邀请组员进来 将代码库fork到小组Organization底下 下载并使用GIT: Git的安装 使用Git进行代码管理 1.从百度下载了git forWindows,因为某些原因不能去官网下载,所以直接从百度软件中心下载.TortoiseGit从官网下载64位版本. 2.代码管理即Git的使用: 1)在开始菜单所有文件里面找到TortoiseGit,然后点PuTTYgen 2)在弹出的窗口中点击Generate生成密钥,再点…
一.在Github上注册账户.其中创建organization在小组成员的账户上创建,并在其账户上创建了小组的版本库.在创建organization的过程中,参考了助教提供的博客:http://sefzu2014.blog.163.com/blog/static/240338048201482175111197/ 以下是我们小组创建好的截图: 二.使用Git进行代码管理 1.首先要下载Git,将其安装好之后,可以在开始菜单中找到Git,然后打开Git Bash有如下界面: 2.进行代码管理. 这…
情况描述: 公司的svn版本库,包含了多个项目,每个项目对应于1个文件夹 假设版本库名字为Main,其下的项目用 A项目,对应文件夹A B项目,对应文件夹B 通过git svn clone获取了svn的整个版本库Main 这样得到的是整个Main的提交历史 之后,在A上面开发了一段时间,并且git svn dcommit到svn上 因为某些原因,创建了一个分支branchA,在branchA上进行了开发.但是无法提交到svn上 B上面也进行了一段时间的开发,并提交了很多日志 现在需要把A项目作为…
Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件.你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改.为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容:…
语法:git subtree split -P <被裁减的目录> -b <分支> git subtree split -P SDK/CustomUI(需要裁减的) -b CustomUI-2(裁减到得分支) 语法:git subtree add --prefix=<子目录名> <子仓库名> <分支> --squash git subtree add --prefix=SDK/CustomUI(关联) /work/Que/Qupai/Android…
文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结   JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语言.弹性的服务端运行环境,记得JAE刚刚推出来的时候基本上是一个不成熟的产品,问题多多,之后过了一段时间,新版的JAE终于可以安装和运行一些程序了. 上一篇的JAE安装运行WordPress有朋友对使用Git上传管理JAE京东云引擎代码很兴趣,还有朋友询问如何在JAE上安装Discuz!论坛,这篇文…
转载:管理修改 现在,假定你已经完全掌握了暂存区的概念.下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件. 你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git管理的是修改,而不是文件呢?我们还是做实验.第一步,对readme.txt做一个修改,比如加一行内容: $ cat readme.txt Gi…
0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进入新分支: $ git checkout -b newBranch 相当于: $ git branch newBranch $ git checkout newBranch 合并分支 mergeBranch,例如要把mergeBranch,合并入master: $ git checkout mast…
首先简述一下Git进行代码管理的情况 我使用的是github for windows,官网下载的速度太慢,所以用了离线安装包.安装之后会有GitHub和GitShell两个软件,其中Github采用图形化操作界面,GitShell采用命令行控制界面,安装之后截图如下: 使用流程 if>以下过程中使用的都是gtihub图形化界面 查阅了一些教程并且自己使用之后,总结一下大概的思路: .首先在github网站上可以创建自己的一个代码仓库,此处假设为代码仓库R1(当然也可以用github图形化界面直接…
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉git和github的使用. 除了廖雪峰的教程,还比较推荐在看完廖雪峰的教程之后,再看这样一篇文章:使用git和github进行协同开发流程,和我的另一篇git的笔记:使用git和github管理自己的项目---真实开发环境的策略 ,深入了解github和git怎么在具体的项目开发中管理项目.有什么…
概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. Git 有哪些特性 直接记录快照,而非差异比较 多数操作仅添加操作 近乎所有操作都是本地执行 时刻保持数据完整性 有关以上特性的详细解释,请查看Pro Git的G…
VS2015 Git 源码管理工具简单入门   1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取(Fetch):从远程版本库获得最新版本 合并(Meger):将两个版本库进行合并操作 提交(Commit):将所做的更改,存入本地暂存库 推送(Push):将所做的更改,存入远程版本库 同步(Pull+Push):先将远程库拉取,再将本地库推送到远程…
一.第一方法 git clone https://github.com/git/git.git cd git/contrib/subtree sudo make prefix=/usr sudo make prefix=/usr install sudo make prefix=/usr install-doc Then command git subtree should be available. 二.第二种方法 git clone https://github.com/git/git.gi…
GIT库代码管理规范 一. 规范要求 1. 每个项目建立单独的GIT库.每个GIT库包括两条线,命名规则如下: 开发线(测试):项目名称_DEV 生产线(正式):项目名称 2. 每条线只允许增量不允许回滚: 3. 每个开发人员拉各自的分支开发,合并前先获取DEV代码,再提交合并: 4. 提交分支时注明:动作类型(新增.修改.删除)+改动明细: 5. 从开发线合并到生产线,由测试工程师负责拉代码/标注更新内容: 6. 由发布工程师将代码部署到服务器: 7. 禁止开发人员访问生产线,生产线不对开发人…
摘要 本章介绍Jenkins配合Git源码管理,关于Jenkins的基本操作,参照[Linux]Jenkins配置和使用(二) 事例说明:在linux环境下,安装的jenkins,已安装git. 代码托管在GitHub上,目的是使用jenkins,通过git检出代码,在进行打包,然后在tomcat上发布war包. 步骤 安装好Jenkins和Git,并确认Jenkins中已经安装了Git plugin插件.Git版本: 安装Git plungin插件 :  在Jenkins中新建一个任务test…
git是一款非常流行的分布式版本控制系统,使用Local Repository追踪代码的修改,通过Push和Pull操作,将代码changes提交到Remote Repository,或从Remote Repository中获取代码的最新版本,实现团队源代码的共享和管理.VS2013 集成了git插件,能够使用git进行源代码管理,比如:Merge Branch,Code Review,Code Changes的Push和Pull等,这里简单介绍一下VS2013中git插件的使用. 一,创建Re…
1.1 环境 Visual Studio + GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取(Fetch):从远程版本库获得最新版本 合并(Meger):将两个版本库进行合并操作 提交(Commit):将所做的更改,存入本地暂存库 推送(Push):将所做的更改,存入远程版本库 同步(Pull+Push):先将远程库拉取,再将本地库推送到远程库,相当于(Pull+Push)…