Git Stash 和 Worktree 问题

2023-11-22

我很难让 Git 与我现有的用户定义工作树合作outside包含我的 .git 目录的文件夹。

基本上设置是这样的:我有两个目录,一个名为“git-worktree”,其中包含我想要跟踪的文件,另一个名为“git-dir”,其中包含存储库的 .git 文件夹,也称为 GIT_DIR。

我通过 cd'ing 进入文件夹“git-dir”并运行来初始化存储库:

git --git-dir=./.git --work-tree=/Users/braitsch/Test/git-worktree/ init

这成功地初始化了存储库,当我位于“git-dir”文件夹中时,我可以添加工作树中的文件,运行 git status 并提交它们。凉爽的。

当我尝试奔跑时,踢腿就来了git stash,这给了我一个错误:

fatal: /usr/local/git/libexec/git-core/git-stash cannot be used without a working tree.

现在这是无稽之谈,因为我知道(或者至少我认为)我已将工作树设置为包含我要跟踪的文件的“git-worktree”文件夹。

git config --local -l向我展示以下内容:

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.worktree=/Users/braitsch/Test/git-worktree
core.ignorecase=true

我什至尝试手动将 .git 文件夹添加到本地配置文件中,看看是否有帮助,但无济于事。

core.gitdir=/Users/braitsch/Test/git-dir/.git

现在关键来了。 Git 存储将起作用如果我将工作树设置为 git-dir 的父目录例如如果我将工作树设置为我的主目录。

core.worktree=/Users/braitsch/

所以我的问题是我缺少什么设置来告诉 Git 允许我的工作树存在anywhere在文件系统上,不仅仅是沿着 git-dir 的父路径备份到根目录?当然,一定有一种方法可以将你的 git-dir 和你的工作树放在你想要的任何地方,并且在告诉 Git 它们在哪里之后,让一切正常工作?


git --git-dir=<your path> --work-tree=<work tree path> stash

应该管用。您尝试过绝对路径吗?

UPDATE:

似乎是一个错误。 --git-dir 选项的扩展功能是最近才添加的,一些命令(如 git stash)还没有新的实现。

git-stash 是一个 bash 脚本。您可以破解它并删除需要工作目录检查,然后 cd 进入工作文件夹。

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

Git Stash 和 Worktree 问题 的相关文章

  • 如何在 Visual Studio 2013 中隐藏未提交的更改

    需要一些帮助 了解如何使用 Visual Studio 2013 搁置 Git 存储库中未提交的更改 我来自 PHPStorm 您可以在一个分支上搁置未提交的更改 切换到另一个分支并取消搁置 但是 我无法找到 了解如何在 Visual St
  • git 分叉是如何工作的?

    所以我登录了 github 并 fork 了一个项目 每次原始存储库更新时 我的分叉存储库都会更新吗 或者我应该每次都从原始存储库进行分叉 这样我就不会错过对原始存储库所做的任何新更改 分叉是存储库的副本 分叉存储库允许您自由地尝试更改 而
  • 恢复 git reset --soft

    我修改了我的分支中的一些文件并做了一个 git add all 但这添加了一些我不打算为提交添加的文件 所以我做了一个 git reset soft HEAD 2 instead of doing git reset HEAD 但之前的提交
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 无法将 android“gen”文件夹提交到 Git

    我在 eclipse 中使用 EGit 为我正在开发的 Android 项目提供 Git 支持 问题是 将我的项目提交到本地存储库后 我意识到 gen 文件夹没有被提交 因此 当我从 Git 存储库获取最新源代码后尝试在另一台计算机上打开该
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • 如何使用“gem install”命令从私有 GitHub 存储库安装 gem

    如何在本地安装托管在 GitHub 上的私人存储库中的 gem 特别是 我们通过gem install命令而不是在 Bundler 中使用 因为它是一个命令行工具 我尝试这样做 gem install githubname repo s h
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • EGit(Eclipse git 插件)可以使用 SSH 密钥代替用户名和密码吗?

    我需要提交的 git 中央存储库是使用 SSH 密钥配置的 我的用户名是jmglov 但是当我执行 git 操作时 例如git clone 我使用这个配置 jmglov kitiara cat git config remote origi
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • Git 中的合并冲突是由什么构成的?

    git 如何确定特定合并存在冲突以及冲突是什么 我的猜测是这样的 如果正在合并的两个提交有一个共同的父提交 并且如果它们都更改了父提交的 X 行 那就是冲突 让我的理解变得复杂的是 更改 X 行 可能意味着用几行新行替换它 但这仍然显示为一
  • 当出现错误时如何删除远程分支?

    我尝试过以下命令 但失败了 git push origin next remote error denying ref deletion for refs heads next To blah git remote rejected nex
  • git stash 删除最旧的存储(比如最旧的 5 个存储)

    如何在一个语句中删除最旧的存储 例如最旧的 5 个存储 而不是执行以下操作 git stash drop stash 3 git stash drop stash 4 git stash drop stash 5 git stash dro
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 自动生成/删除詹金斯工作

    我正在寻找一种自动创建一组詹金斯作业的方法 通常在创建新的 git 分支之后 我已经为maven尝试过这个插件 http evgeny goldin com wiki Maven jenkins plugin http evgeny gol
  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git

随机推荐

  • 使用 jQuery UI 同时对多个项目进行排序

    我正在尝试设置一种方法来同时对多个项目进行排序jQuery UI 的可排序插件 我提出了一个部分解决方案 其中选中的项目随拖动一起移动 但我无法让它们全部移动位置 这是我所拥有的 http jsbin com ecela 我需要添加什么才能
  • 类型错误:“设置”对象不支持索引

    我刚刚在 Python 3 5 中做了一些随机的事情 我利用 15 分钟的空闲时间想出了这个 a a b c d e f g h i j k l m n o p q r s t u v w x y z len a len a list li
  • 根据 React 中的 props 名称动态导入

    根据 React 中的 props 名称动态导入 import a b c from some package theme should not import everything here const MyComp theme other
  • 转换期间的一般错误:找不到合适的 ClassLoader 进行抓取

    我尝试过下面的代码 Grapes Grab org hsqldb hsqldb 2 0 0 GrabConfig systemClassLoader true initContextClassLoader true import groov
  • 如何摆脱 NDK 编译器警告:“APP_PLATFORM 更大..”和“无效包”

    我有以下 Application mk APP PLATFORM android 9 APP STL gnustl static APP CPPFLAGS frtti fexceptions O2 mfpu neon mfloat abi
  • 简单的ListView数据绑定

    我正在尝试显示数据ListView使用 WPF 和 C 我对所看到的不同示例和方法感到困惑 我正在寻找一个与我的程序类似的完整工作示例 或者使其工作的先决条件列表 如果我能够仅显示我的集合中的 1 行数据 我会很高兴 目前 列表视图不显示任
  • [UWP][XAML] ListView 子项不使用全宽

    我正在尝试显示绑定项目的列表 我已将数据模板自定义为网格 我希望右列 具有固定宽度 粘在屏幕的右侧 而第一列我想填充剩余空间 通常这工作正常 但是当我将此网格放入 ListView 中时 行为似乎发生了变化 下面是我的ListView代码
  • OpenID 领域是否必须是网站的基本 URL?

    作为延续这个问题 我在使用 dotnetopenauth 时遇到了问题 基本上 我想知道 RP 中指定的领域是否必须是应用程序的实际基本 URL 那是 http localhost 1903 鉴于现有的架构 很难删除重定向 我尝试将领域设置
  • 为什么 select SCOPE_IDENTITY() 返回小数而不是整数?

    所以我有一个以标识列作为主键的表 因此它是一个整数 那么 为什么SCOPE IDENTITY 总是向我的 C 应用程序返回十进制值而不是 int 这真的很烦人 因为十进制值不会在 C 中隐式转换为整数 这意味着我现在必须重写一堆东西并有很多
  • 如何处理 Web 应用程序中的并发更改?

    以下是我想在 Web 应用程序中执行的两个潜在工作流程 变化1 用户发送请求 服务器读取数据 服务器修改数据 服务器保存修改后的数据 变化2 用户发送请求 服务器读取数据 服务器向用户发送数据 用户发送带有修改的请求 服务器保存修改后的数据
  • 如何在 RecyclerView 中使用 GridLayoutAnimation?

    我正在尝试用新的 RecyclerView 使用 GridLayoutManager 替换我的 GridView 但它似乎不能很好地应对 gridLayoutAnimation ClassCastException LayoutAnimat
  • 将 $routeProvider 与 $stateProvider 一起使用

    一开始我只是使用 routeProvider 如下 它给了我我想要的东西 angular module angularProject angularProject filters angularProject services angula
  • Spring-Test-MVC / MockServletContext - 测试中内容为空,但在 Tomcat 上工作

    我们正在尝试为我们的 Spring MVC Web 应用程序设置 Spring Test MVC 我们开始使用 freemarker 一切都很好 但我们决定不这样做 现在正在尝试使用 JSP 来设置它 当测试应用程序部署在 Tomcat 上
  • IE8 上多帧 JS 的完整调用堆栈

    当 Internet Explorer 8 上的 JavaScript 发生异常时 我需要获取完整的调用堆栈 函数调用可能发生在数量较大的帧之间 将日志发送给开发人员所需的调用堆栈 我无法使用调试器 因为最终用户不必处理这个问题 当前的 J
  • 如何使用DataContext.ExecuteCommand并获取执行的存储过程返回值?

    在c 项目中 我调用存储过程如下 System Data Linq DataContext dataContext MembershipContext GetContext connectionString int returnValue
  • C++ 删除字符串对象

    我的 C 程序中有一个字符串对象 声明如下 string str 我已经将一些数据复制到其中并做了一些操作 现在我想从内存中删除str对象 我无法使用删除运算符 因为 str 不是指针 如何从内存中删除该对象以回收分配给它的内存 谢谢 拉凯
  • 如何在 PHP 中解析和处理 HTML/XML?

    如何解析 HTML XML 并从中提取信息 Answer recommended by PHP Collective 原生 XML 扩展 我更喜欢使用其中之一原生 XML 扩展因为它们与 PHP 捆绑在一起 通常比所有第 3 方库更快 并为
  • python 从字符串创建切片对象

    我想从字符串创建一个切片对象 现在唯一的方法似乎是通过繁琐的 eval 语句 class getslice def getitem self idx return idx 0 eval getslice s 1 1 提前致谢 Edit 抱歉
  • 如何将 LatLng 实例发送到新意图

    我需要将 LatLng 类的实例传递给另一个意图 我该怎么做呢 这是代码 LatLng fromPosition new LatLng 23 4555453556 11 145315551 LatLng toPosition new Lat
  • Git Stash 和 Worktree 问题

    我很难让 Git 与我现有的用户定义工作树合作outside包含我的 git 目录的文件夹 基本上设置是这样的 我有两个目录 一个名为 git worktree 其中包含我想要跟踪的文件 另一个名为 git dir 其中包含存储库的 git