如何使用 git 同时处理多个不同版本的文件?

2024-02-14

我目前正在开发一个自己的神经成像工具箱,该工具箱在 MATLAB / SPM8 下运行,并且我的存储库中的大多数程序文件都是 MATLAB*.m文件。我有不同的功能分支和一个analysis分支,我使用它来使用当前版本进行持续分析。同时我正在开发代码master和特征分支,然后不断合并到master branch.

现在的问题是,我正在运行的分析analysis分支确实需要很多时间(甚至几天),在那段时间我无法git checkout master or git checkout new-feature。这严重限制了我的生产力。

因此,由于不可能同时保持多个分支同时打开, 我正在考虑移动analysis从开发存储库分支到其自己的存储库。问题是,如果我git init基于当前的新存储库analysis分支,有没有办法以某种方式git merge从当前开始时不时地master(开发存储库的)分支能够在新的分析存储库中使用我的开发存储库新开发的代码吗?


If you git clone将现有存储库复制到新存储库中,然后您可以git push or git fetch从一个到另一个以匹配您更改的引用(分支);不涉及合并。存储库的内容将自动硬链接以节省磁盘空间。

如果您使用--mirror选项git clone and git push,您将省略远程跟踪分支,而只在两个分支中拥有相同的分支,这更简单、更对称,但不太像 git 的常规使用。为了最大程度地“遵循教程”简单性,请安排第三个“中央”存储库(应该创建--bare),您的两个工作存储库都是其克隆。

不需要合并(除了“快进合并”之外,“快进合并”不是真正的合并,而是用其较新的后代替换旧的分支头),因为您正在处理相同的分支;你只有两份副本。当您的分析完成并且您能够更新分析分支时,只需git merge --ff-only master而在analysis;您可以在任何方便的存储库中执行此操作,但不要忘记将更改与git push other-repository.


另一个选项(自 Git 版本 2.5 起)是git worktree https://git-scm.com/docs/git-worktree命令,它允许多个独立的工作树,您可以在其中git checkout等,独立进行。这个和上面制作克隆选项的区别在于,这里只有一组branches.

然而(从 2.8 版本开始)这仍然被认为是一个“实验性”功能,我个人还没有使用它来评论它的可靠性和实用性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 git 同时处理多个不同版本的文件? 的相关文章

  • Sourcetree 2.1.2.5 - 显示“未提交的更改”,但没有任何待处理的内容

    我有一个以前没有遇到过的问题 即使我没有什么可提交的 并尝试将我的分支重置为 Sourcetree 显示的最新提交Uncommitted changes 根据 Atlassian 论坛的说法 通常有两个原因 您的工作目录中有很多很多未暂存的
  • Git:man 命令不起作用

    在 Git Bash 中 他们给了我一个error用于返回 man command man git bash man command not found 我的 Git 版本 git version git version 2 18 0 wi
  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • 从分离的头进行 Git 推送

    我以超然的态度做出了一些改变 我想用 Git 将这些更改推送到这个独立的头 我不希望我的更改进入开发分支 当然也不想进入主分支 我正在与另一个人一起处理一个文件 分支示例 develop master HEAD detached at or
  • 命令来确定当前 HEAD 的上游引用?

    我正在寻找我所希望的简单的一行命令确定当前签出分支的正确上游引用 本质上就像是 git branch remote HEAD 如果有效 会将符号模式 HEAD 转换为当前分支名称 然后选项 remote然后将其更改为远程跟踪分支的引用 但它
  • 如何像对待普通目录一样对待嵌套存储库(子模块)?

    我的 WordPress 网站是使用 Git 进行版本控制的 包括wp content plugins 文件夹 现在有一个插件 wp editormd 带有自己的 Git 存储库 wp content plugins wp editormd
  • 我可以通过链接分享我的私人 GitHub 存储库吗?

    我在 GitHub 上的私人存储库中有一个 Java 应用程序 我想与没有帐户的人共享它 我在网站上没有找到任何与此相关的选项 有没有办法做到这一点 协作者只能是 GitHub 用户 无法在非 Github 用户之间共享私有存储库 您需要
  • 如何重命名 GitHub 网站上的目录/文件夹?

    我在 GitHub 网站上找到了一种方法rename https github com blog 1436 moving and renaming files on github一个文件并成功完成 我也找到了一种方法rename https
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • 交互式变基后,本地 Git 分支已偏离原始分支

    我有一个本地分行 CRM ayrshireminis 其中有一些我已推送到原点的提交 origin CRM ayrshireminis 这个分支是从创建的develop大约一周前的一个分支 其他合作者已经在该分支上完成了一周的工作 我想做的
  • 在 git repo 中查找超过 x MB 且 HEAD 中不存在的文件

    我有一个 Git 存储库 用于存储随机的内容 主要是随机脚本 文本文件 我设计的网站等 随着时间的推移 我删除了一些大型二进制文件 通常为 1 5MB 这些文件会增加存储库的大小 而我在修订历史记录中不需要这些文件 基本上我希望能够做到 m
  • 如何使用 .gitattributes 避免在 git root 中包含文件夹,但在 zip 的 dist 文件夹中包含同名文件夹

    我有一个名为lib在存储库的根目录和另一个名为lib在 dist 文件夹中 我正在尝试使用 gitattributes文件排除除 dist 之外的所有文件夹和文件 以便任何下载为 zip 或 tarball 的人都只会 git 分发文件 我
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 分支明显不同,但提交历史是相同的

    git status告诉我我的分支和我在另一个存储库上开始的分支已经分歧 On branch master Your branch and origin master have diverged and have 13 and 13 dif
  • git diff - 只显示哪些目录发生了变化

    有没有办法只列出已更改的目录 如果我在 git root 的话 project 我更改的文件是 project subtool file1 project subtool file2 project subtool3 file1 我只是想
  • 如何将分支逻辑持久化到数据库中?

    我们正在构建一个供内部使用的调查引擎 我想知道如何将问题分支逻辑持久化到数据库中 任何机构之前做过这件事或者对数据库模式有什么想法吗 如果用户给出答案 我们需要根据添加到问题的逻辑跳到下一个问题 每个问题可以添加多个逻辑 For eg Qu
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m

随机推荐

  • Swift stringByEvaluatingJavaScriptFromString

    我尝试在我的 WebView 上使用一些 javascript 和新的 stringByEvaluatingJavaScriptFromString功能 我不太熟悉语法 所以我尝试了 func stringByEvaluatingJavaS
  • 如何在 mongoid 中强制执行唯一的嵌入文档

    我有以下型号 class Person include Mongoid Document embeds many tasks end class Task include Mongoid Document embedded in commi
  • 是否可以将 DDL 更改包装在 PostgreSQL 的事务中?

    我知道在 MySQL ddl 语句中 例如 alter table create table etc 会导致隐式事务提交 当我们转向 PostgreSQL 时 是否可以在一个事务中包装多个 DDL 语句 这将使迁移脚本更加健壮 失败的 DD
  • 用于动态电子邮件的 Angular $compile 模板

    我正在尝试加载一个带有 ng repeats 的 html 模板 然后使用 compile服务对其进行编译并在电子邮件中使用编译后的 html 问题 好吧 在提问之前让我先设置术语 绑定占位符 customer name 绑定值 john
  • 在discord.js中获取用户横幅

    有没有办法使用discord js 获取discord 上的用户横幅 用户横幅是新功能 所以我不确定到目前为止是否有任何方法 我在文档中没有找到任何内容 例如 服务器横幅可用于 https cdn discordapp com banner
  • 如何在perl中不使用key来查找值是否存在于hash中?

    我有一个像这样的哈希图 my name AUS dynamic values my hash a gt x gt 1 gt US 2 gt UK y gt 1 gt AFRICA 2 gt AUS b gt
  • 包含引用类型的结构

    结构是一种值类型 因此如果我将一个结构分配给另一个结构 其字段将被复制到第二个结构中 但是 如果结构体的某些字段是引用类型 会发生什么情况 public struct MyIPEndPoint public String IP public
  • CommonJS 'require' 是否仍在使用或已弃用?

    目前Javascript采用importES6 作为导入模块的标准方式 但是 我有时会看到使用 CommonJS 的代码require代替import 我首先想知道两个是否可以一起使用 但似乎两个不能互换 相关堆栈溢出问题 https st
  • 不存在足够的页面大小 - DB2 插入

    我有一个 DB2 查询 简单插入语句 它试图插入一些 27 列 在这些列中 第 1 列是Clob问题就在那里 为了我的Clob列 有时该值甚至可能包含28K人物 在这种极端的情况下 我收到以下错误 A system temporary ta
  • 如何在运行 Windows 的 Elastic Beanstalk 环境中启用 CloudWatch Logs?

    我有一个网络服务 可以将数据输出到平面文件中 在非 EC2 原始 Windows 实例中 我们使用 EC2Config 服务将日志文件和一些性能计数器传送到 CloudWatch 请参阅此处 http blogs aws amazon co
  • Qt/QML Android 发送自定义 Intent 的最佳实践(共享 URL)

    我想知道是否有任何从 QML 或 c 发送自定义 android 意图的最佳实践技巧 我应该创建一个自定义 android 活动并使用 QAndroidJniObject 类来调用它还是有更好的方法 我的目的是创建一个从 QML 到其他 A
  • Fragment中拦截ActionBar Home按钮

    我可以成功拦截ActionBar我的主页按钮NavigationDrawerFragment 它被添加到我的MainActivity 像这样 Override public boolean onOptionsItemSelected Men
  • PHP 无需等待 sem_acquire?

    不是特定的代码问题 而是一般的代码问题 我试图在工作项目中使用信号量来限制可以同时访问某些进程的用户数量 据我了解如下 iKey ftock sSomeFileLocation sOneCharacterString Generate th
  • 变量变化检测 - Angular

    我对 Angular 相当陌生 主要使用 VueJS 我想知道如何检测变量何时更新 我正在通过 DataService 更新我的变量 我读到ngOnChanges 但我发现这只适用于输入 这几乎是我的代码 import DataServic
  • GraphicsPath 和 OutOfMemoryException

    我有以下内容 private bool IsPathVisible Rectangle detectorRectangle GraphicsPath path Pen pen path Widen pen return IsPathVisi
  • .NET 列表框中的 Optgroup

    我需要对列表框中的项目进行分组 类似于 html SELECT 中的 OPTGROUP 非常感谢任何建议 重构桑迪普的答案 http jsfiddle net kgBr9 http jsfiddle net kgBr9 HTML
  • 启用滚动视图缩放

    我已将某些数据放置在我的ScrollView 我想让它放大 缩小 它包含简单的ImageView and TextView 任何建议都会有帮助 谢谢 这是我的代码
  • 使用新的“Facebook SDK for iOS”与旧的“Facebook iPhone SDK”进行 Facebook 身份验证

    我正在努力将 Facebook 与我的 iPhone iOS 应用程序集成 我想知道我是否正确理解了登录过程的性质 使用旧的 Facebook SDK Facebook iPhone SDK 当我们需要向用户请求身份验证权限时 将显示 UI
  • 如何在 django 中编写表单的保存方法?

    我在 Django 中有两个模型 User 由 Django 预定义 和 UserProfile 两者通过外键连接 我正在创建一个允许客户编辑其用户个人资料的表单 因此 该表格将基于提到的两种模型 如何为此表单创建 save 方法 完成保存
  • 如何使用 git 同时处理多个不同版本的文件?

    我目前正在开发一个自己的神经成像工具箱 该工具箱在 MATLAB SPM8 下运行 并且我的存储库中的大多数程序文件都是 MATLAB m文件 我有不同的功能分支和一个analysis分支 我使用它来使用当前版本进行持续分析 同时我正在开发