Git - 更改分支时文件会去哪里?

2024-01-12

刚刚开始学习 git,我喜欢它的概念。到目前为止,有一件事对我来说有点奇怪,我似乎无法在搜索中找到。当我打字时git checkout branchName要更改为我想要的任何分支,当我查看 Finder 窗口时,我可以根据我所在的分支直观地看到文件/文件夹在存储库中出现或消失。

下面的 2 张图片展示了我如何在一个分支中,然后转到另一个分支(这是来自 Lynda.com 课程)。左侧显示 Finder 以及文件夹 _fonts 如何消失,因为它不存在于其他分支中。

但它到底在哪里(以及其他发生更改的文件)?从我在这里看到的,我无法同时物理地查看来自不同分支的文件,但我只是好奇当我更改分支时它们实际上在系统中的位置。


从我在这里看到的,我无法同时物理地查看来自不同分支的文件,但我只是好奇当我更改分支时它们实际上在系统中的位置。

是的,你可以做到

您只需遵循以下步骤:

Git 早在 2007 年就以这个名称公开了这个功能git workdir。多年来它一直位于 git contrib 文件夹下。

在 git 2.5 版本中它被公开为git worktree。它允许您同时在多个分支上工作。

怎么做?

# create a new working directory
# the path will be added and the given branch name will be checkout out
git worktree add <path to the new working directory/ branch name> 

# now you have 2 folders with different branches in each one of them.
# if you used something like `git worktree /tmp/aaa` than you will have 
# branch aaa checked out in the new folder and you can switch to any branch
# you wish

Each worktree有自己的三态所以你不能多个工作树上的同一分支。

例如:

git worktree add <second path>

将在您的计算机上创建另一个文件夹,允许您同时在不同的分支上工作。

git worktree将创建 2 个彼此分离的独立工作文件夹,同时指向同一个存储库。

这将允许您在新工作树上进行任何实验,而不会对存储库本身产生任何影响。在附图中您可以看到有2 分开工作文件夹,但它们都使用单个存储库并共享内容。

以下是有关如何创建新工作树及其结果的示例:

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

Git - 更改分支时文件会去哪里? 的相关文章

  • 从 python 检测 macOS 中的暗模式

    我正在编写一个 PyQt 应用程序 我必须添加一个补丁 以便在启用暗模式的 Macos 上可以读取字体 app QApplication Fix for the font colours on macos when running dark
  • OSX 上的 locale.getlocale() 问题

    我需要获取系统区域设置来执行许多操作 最终我想使用 gettext 翻译我的应用程序 我打算在 Linux 和 OSX 上分发它 但我在 OSX Snow Leopard 上遇到了问题 python Python 2 5 2 r252 60
  • 如何使用 AWS Lambda 安装 Git?

    我在代码提交存储库中有代码 我正在编写一个 lambda 函数来为代码提交存储库的每个签入 事件 构建代码 我无法安装 git 因此无法克隆存储库 我该怎么办呢 正如其他人提到的 在 lambda 上安装 git 要么非常困难 要么完全不可
  • 创建一个空分支?

    我有一个包含项目的 git 存储库 我现在要对这个项目进行大规模的修改 如何为这次大修创建一个空白的新分支 然后当完成时 如何将这个分支切换到master 使用 checkout orphan 命令 git checkout orphan
  • TFS 2017 - 如何构建/交付仅更改的文件?

    我正在使用 TFS 2017 关于标题 我找到了一个术语 增量构建 但是 我找不到在哪里设置它 我尝试在 构建参数 p IncrementalBuild true 中添加增量参数 但总是收到错误 表明这是错误的参数 是否可以仅交付 或构建并
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • Sqlite代码28“文件在打开时重命名”

    这是一个推论这个问题 https stackoverflow com questions 27784704 sqlite deadlock across multiple threads with different files nored
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • 如何让 Aptana Studio 记住 git ssh 密码

    我找不到任何有关如何获得 Aptana Studio 的内置 git 支持来记住执行推 拉操作的 ssh 密码的指南 信息 有人有什么想法吗 Aptana Studio 实际上是内置的 GIT 程序 它将在 Windows 上的 C Use
  • git 排除与忽略

    I use Tower http www git tower com 用于在 Mac 中使用 Git Tower 中的设置具有创建 gitignore 的 忽略 部分 但它还有另一个名为 排除 的部分 似乎可以将排除与 git ls fil
  • Codesign:什么是未密封内容?

    我刚刚升级到 XCode 6 并尝试构建我的开发者 ID 签名的 Mac 应用程序 但是 我现在收到以下协同设计错误 unsealed contents present in the root directory of an embedde
  • 如何提取 Mercurial 中变更集的所有已更改文件?

    直到最近 我们一直在网络工作室的所有项目中使用 SVN 并且 Subversive 和 TortoiseSVN 等多个客户端中存在一个非常方便的功能 可以提取在某个版本中更改的所有文件 Mercurial 有没有办法做到这一点 我不在乎它是
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali

随机推荐

  • CanvasRenderingContext2D 中的透明度组

    有没有一种方法可以将多个绘制操作组合到 2d 画布渲染上下文中 从而使它们各自独立combined结果被组合到画布的先前内容上 而不是每个绘图操作都由其本身组合 一个应用程序 我想绘制一条带有箭头的半透明线 并且我想避免线和箭头重叠的那些区
  • 为什么“for”循环条件失败? [复制]

    这个问题在这里已经有答案了 在下面所示的代码中 没有打印任何内容 这意味着for循环失败 可能是什么原因 我想知道因为当我打印时TOTAL ELEMENTS单独地 它给出5 所以自然这一定是5 2 3 gt 1 lt 3 所以它应该打印一些
  • Java 原始类型值分配给泛型类型运行时 getClass() 方法错误

    public class Box
  • CLR 定义的方法(例如 [delegate].BeginInvoke)记录在哪里? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 编辑 完全改写 看来我的问题措辞确实不好 而且也没有得到很好的回应 所以我希望这个完整的改写能有所帮助
  • AppFabric 缓存内存非常密集

    问题 我做错了什么吗 配置设置不正确 AppFabric 显示的内存使用量是否低于正常值 问题 我正在将数据从 SQL 数据库表读取到 AppFabric 缓存内存中 似乎 AppFabric 对于一个相当小的对象使用了大量的内存 我无法理
  • 在Python中将一个16位整数拆分为两个8位整数

    我必须将给定的 16 位整数转换为两个 8 位整数 然后将其用作输出 它们的标题是获取两个 8 位整数并将它们重新组合为 16 位输入 不幸的是 这超出了我的控制范围 我的解决方案有效 但感觉不干净 对于粗略数字 我对原始数字进行了位移位
  • 为什么我看不到 Microsoft Forms 2.0 对象库?

    我想使用这个库来处理剪贴板 我希望看到它如下面的屏幕截图所示 但我在参考库列表中找不到它 我怎样才能让它出现 如果您将用户窗体添加到项目中 则会自动添加该库 如果您不需要用户窗体 以后可以随时将其删除
  • Django 模型 __unicode__ 在记录时引发异常

    我有一个模型类 如下所示 class Address models Model taking length of address city fields from existing UserProfile model address 1 m
  • 如何计算 Spark RDD 的平均值?

    我有 Spark Scala 的问题 我想计算 Rdd 数据的平均值 我创建一个像这样的新 RDD 2 110 2 130 2 120 3 200 3 206 3 206 4 150 4 160 4 170 我想这样数它们 2 110 13
  • HTML5 Canvas API - 用斜体格式化单个单词

    我在 HTML5 中使用 Canvas API 时遇到一个小问题 我有一个文本 必须在 html 页面的画布上显示 文本示例可以是 这是一个斜体单词 所以我要做的就是显示从数据库中获取的文本 但只将句子中的一个单词设为斜体 所以我必须像这样
  • 类没有指定表或表名,并且不继承自现有的表映射类

    当我尝试向 python flask 添加新表时 class UserRemap db Model name db Column db String 40 email db Column db String 255 password db
  • 如何使用插件内的视图文件覆盖 nopcommerce 视图文件?

    我试图覆盖位于以下位置的 nopcommerce 视图 Nop Admin Views Category Tree cshtml 我在插件文件夹中开发了一个视图 Views Misc Tree cshtml 我该怎么做 试试我写的这篇详细文
  • JSON如何反序列化日期时间并将UTC转换为指定时区?

    我想创建一个自定义 json 序列化程序 它将使用 dateTime 的对象与 UTC 进行转换 然后再转换回指定的时区 非本地 转换为 UTC 的示例是 MyObject stuff new MyObject stuff Date Dat
  • 从 JAR 文件加载属性 (java 1.6)

    我手动将属性文件注入 jar 内 如何从 java 1 7 之前的 jar 文件加载属性 我尝试了很多解决方法 但到目前为止没有任何效果 关于它有很多问题 但一切都集中在 java 1 7 的 ClassLoader 方法上 当类路径或 j
  • MissingMethodException:找不到方法:'布尔值

    帮助我在运行 ASP NET 项目时解决此错误 MissingMethodException Method not found Boolean Microsoft AspNetCore Cryptography UnsafeNativeMe
  • RichTextBox 在 Azure 上抛出 OutOfMemory

    我正在使用 RichTextBox 将 RTF 中的字符串转换为纯文本 使用这段代码 private string ConvertToText string rtf if string IsNullOrWhiteSpace rtf retu
  • Interface Builder 从目标继承模块选择了错误的目标

    我有一个包含三个方案的项目 Debug MyApp Beta MyApp MyApp 该项目具有三种配置 Debug Beta 和 AppStore 此外 每个目标都会构建各自的配置 当我在 Interface Builder 中使用自定义
  • jeromq 生产准备好了吗?

    我过去曾通过 JVM 应用程序使用 ZeroMQjzmq图书馆 我计划在一个新项目中使用 Zeromq 其中一些服务是在 JVM 上实现的 我刚刚发现jeromq https github com zeromq jeromq 一个 Zero
  • 面包屑微数据帮助

    我正在尝试帮助 Google 为我的网站生成适当的面包屑详细信息 我目前正在使用它作为面包屑 div span class crust a href http www radonsystems net class crumb span Ho
  • Git - 更改分支时文件会去哪里?

    刚刚开始学习 git 我喜欢它的概念 到目前为止 有一件事对我来说有点奇怪 我似乎无法在搜索中找到 当我打字时git checkout branchName要更改为我想要的任何分支 当我查看 Finder 窗口时 我可以根据我所在的分支直观