问题标签 [git-worktree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
673 浏览

git - 带有相对路径的git worktree?

我的仓库中有一个master和一个setup分支。我setup通过_ _

所以主 repo 文件夹是 on master,并且该local/setup文件夹是 on setup。一切都很好,花花公子,我可以处理我的setup文件而不必切换分支,我可以从内部提交local/setup等等。

但是,如果我尝试移动整个 repo,或者从不同的 Linux 引导(/home/myrepo变成/mnt/ubu/home/myrepo)访问它,事情就会中断。问题似乎是git工作树功能记录了绝对路径,在

我可以将这些转换为相对路径以使 repo + 嵌入式工作树可重定位吗?我不确定这些文件中的路径应该相对于什么,但我可以进行实验。这种设置危险吗?

0 投票
1 回答
125 浏览

git - Git纠正分支和工作树不匹配

跟进'<Branch>' 已在 git worktrees 中的 '</other/location>' 签出

当我的分支和工作树不匹配时,我收到“ Branch is already checked out at different worktree”错误:

我现在必须使用git worktree remove删除我的 1.2T 工作树,但我想知道将来修复它的最佳方法是什么。

我有如下分支和工作树设置:

  • /path/master对应我的 gitmaster分支
  • /path/release-a对应我的 gitrelease-a分支
  • /path/release-b对应我的 gitrelease-b分支

等等等等。多年来我一直这样,直到几天前我错误地单击并更改了 MS VS 中的工作树分支。现在我的分支和工作树是这样的:

  • /path/release-a正在使用我的 gitrelease-b分支
  • /path/release-b正在使用我的 gitrelease-b分支

现在我无法在 MS VS 中将其改回。尝试在工作树中切换分支会让我:

除了git worktree remove请,还有什么更好的方法。

0 投票
1 回答
134 浏览

git - Git忽略有趣的参考

我有一个我在本地使用克隆的 repo 的工作树git clone --bare

执行 agit pull或 agit fetch时,我在所有分支上都收到以下错误,例如 prod 分支:

error: * Ignoring funny ref 'refs/remotes/origin//production' locally

我想是双斜线搞砸了,但我不确定。我怎样才能解决这个问题,这样路径就不会在本地出现错误,而且我不必跑到我的校长那里并与他们争论我们的 git 实践?

0 投票
1 回答
35 浏览

git - 给定提交时工作树中的现有文件是什么?

如果可能的话,我想知道在进行具体提交时我的工作树中的现有文件是什么。

0 投票
0 回答
33 浏览

git - 如何克隆工作树?

如果有一个包含多个工作树的远程存储库,并且我正在尝试从中提取一个工作树。我怎样才能做到这一点?一个普通的克隆就够了吗?

0 投票
1 回答
50 浏览

git - 自动跟踪新工作树分支

是否可以使用新分支创建新工作树<branch>并立即设置对“远程”的跟踪?我可以通过显式推送分支来做到这一点--set-upstream

有没有办法用一个 git 命令来做到这一点(这cd部分并不重要),类似于如果分支已经存在于远程可以做的事情:

0 投票
1 回答
74 浏览

git - 同时在同一个 git 目录上工作

是否可以同时在同一个 git 目录上执行以下操作:

  • 在一个分支上编译

  • 在另一个分支工作

0 投票
0 回答
49 浏览

git - 每次提交后保持工作树/分支与 master 同步

我现在正用头撞钩子和工作树。

我的目标是每当我在任何分支上提交时将“main”合并到所有工作树中。

因此,当我在“main”上提交时,每个分支都会合并更改。

当我在任何其他分支上提交时,它会立即合并“main”以防止冲突。其他分支尝试合并但已经是最新的。

所以我尝试了

.git/hooks/post-commit

如何切换分支以进行合并和提交?

谢谢你的帮助

编辑 我要解决的问题是:我确实有 5-10 个非常模糊的、未记录的配置文件,它们需要一个通用的主体(主要),这些文件遍布各处,然后为特定设备添加/更改一些行/值. 它似乎对选项的顺序有些敏感。有些我可以四处走动,有些会导致错误消息(“xy 行中的意外参数”)。

主要和分支都进行了更改。

我认为始终在任何分支上(无效)进行合并比仅在特定分支上自动执行合并更容易。

所以功能相当于:

  • 提交主要:合并到所有
  • 提交 branch01:将 main 合并到 branch01(创建新状态以防止冲突)。

我的工作树是远程分支,很抱歉造成混乱。我是 git 的新手,并且正在与术语作斗争。

当我在 Branch 01 中创建第 1 行“特别到 branch01”时,我确实遇到了冲突,提交。然后在 Main line1 提交上添加“我在每个配置中需要的东西”。合并导致冲突,因为两个更改都是“添加第 1 行 X/Y”

0 投票
1 回答
171 浏览

git - 我可以取回因运行 git restore -s@ -SW 而消失的工作树中的文件吗?

我忘记将 .ai 添加到我的 .gitignore 文件中,但运行 $ git add . 并将相当多.ai的文件添加到索引中。

当我跑过去 $ git status 看到它们时,我想将它们从索引中删除。

匆忙中,我跑了, $ git restore -s@ -SW 结果我的所有.ai文件都从我的工作树中消失了。我不应该使用W.

有什么办法可以找回我的.ai文件吗?

0 投票
1 回答
55 浏览

git - 使用硬链接到 .git 而不是 git worktree

Eclipse 中有一个已知的错误,它阻止它与 git worktree 一起工作。

我能想到的唯一实用的解决方法是创建从辅助(分支)工作副本到包含真实 .git 文件夹的主副本的 .git 硬链接。

这种变通方法(在 Windows 平台上)可能会产生什么负面影响?