问题标签 [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.
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 + 嵌入式工作树可重定位吗?我不确定这些文件中的路径应该相对于什么,但我可以进行实验。这种设置危险吗?
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
请,还有什么更好的方法。
git - Git忽略有趣的参考
我有一个我在本地使用克隆的 repo 的工作树git clone --bare
执行 agit pull
或 agit fetch
时,我在所有分支上都收到以下错误,例如 prod 分支:
error: * Ignoring funny ref 'refs/remotes/origin//production' locally
我想是双斜线搞砸了,但我不确定。我怎样才能解决这个问题,这样路径就不会在本地出现错误,而且我不必跑到我的校长那里并与他们争论我们的 git 实践?
git - 给定提交时工作树中的现有文件是什么?
如果可能的话,我想知道在进行具体提交时我的工作树中的现有文件是什么。
git - 如何克隆工作树?
如果有一个包含多个工作树的远程存储库,并且我正在尝试从中提取一个工作树。我怎样才能做到这一点?一个普通的克隆就够了吗?
git - 自动跟踪新工作树分支
是否可以使用新分支创建新工作树<branch>
并立即设置对“远程”的跟踪?我可以通过显式推送分支来做到这一点--set-upstream
:
有没有办法用一个 git 命令来做到这一点(这cd
部分并不重要),类似于如果分支已经存在于远程可以做的事情:
git - 同时在同一个 git 目录上工作
是否可以同时在同一个 git 目录上执行以下操作:
在一个分支上编译
在另一个分支工作
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”
git - 我可以取回因运行 git restore -s@ -SW 而消失的工作树中的文件吗?
我忘记将 .ai 添加到我的 .gitignore 文件中,但运行
$ git add .
并将相当多.ai
的文件添加到索引中。
当我跑过去
$ git status
看到它们时,我想将它们从索引中删除。
匆忙中,我跑了,
$ git restore -s@ -SW
结果我的所有.ai
文件都从我的工作树中消失了。我不应该使用W
.
有什么办法可以找回我的.ai
文件吗?
git - 使用硬链接到 .git 而不是 git worktree
Eclipse 中有一个已知的错误,它阻止它与 git worktree 一起工作。
我能想到的唯一实用的解决方法是创建从辅助(分支)工作副本到包含真实 .git 文件夹的主副本的 .git 硬链接。
这种变通方法(在 Windows 平台上)可能会产生什么负面影响?