问题标签 [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 服务器结帐/克隆多个分支
我的 git 服务器上有这种情况:
给出输出:
如何同时将分支 shared_data 和 common_data 检出到单独的本地文件夹中:
在我的本地工作站上?我已经阅读了许多帖子,但不知何故我不知道如何为此使用 work_tree。
谢谢
燃气轮机
git - git worktree 和重置保管箱共享文件夹
我的 Dropbox 文件夹中有一个项目仓库。从那里,我与不使用 git 的合著者分享它。
共同作者的 Dropbox 帐户已满。合著者删除了一个大文件以节省空间,但过去的提交包含该文件。问题是那个.git
将大文件保存在 repo 历史中的目录仍然太大。
我希望遵循这里的建议,使用git worktree
链接的工作树项目-repo-shared。这将是 Dropbox 中的新共享文件夹(它不应该有.git
目录,因此要小得多)。
问题是如何在我的合著者磁盘上的文件中不产生冲突。这些是我应该计划采取的步骤吗?
(1) 取消共享 Dropbox 中的 project-repo 文件夹(提前告知合著者)
(2) 做git worktree add -b shared-in-dropbox ~/Dropbox/project-repo-shared
(3) 在 dropbox.com 中,与共同作者共享新文件夹 project-repo-shared
(4) 合著者的机器同步新的project-repo-shared文件夹后,可以删除project-repo,瞧!(正确的?)
更好的想法非常欢迎!
git - 如何在 Git 中的两个独立工作树之间切换分支?
我为“开发”分支添加了一个链接的工作树。所以我的工作树是这样的:
- “项目”工作树 -> 主分支
- “project_develop”工作树 -> 开发分支
在这种情况下,我想做的是在“project_develop”工作树上签出 master 分支。但据我所知,不可能在不同的工作树上签出同一个分支。我能想到的唯一方法是添加一个新的临时分支。
如果有人向我展示另一种方式,我将不胜感激。
谢谢!
git - 为什么我的工作树中的 HEAD 指向 master 中的顶部提交?
我使用创建了一个工作树git worktree add
,它按预期工作了几天。今天想看看上个版本的一些代码,所以暂时分离了HEAD
:
在我找到我需要的东西之后,我试图回到我的工作树分支的顶端:
但是现在,HEAD
指向我本地master
分支中的最高提交。例如:
显示master
.
任何想法为什么会发生这种情况或如何解决它?
编辑
我还看到一些奇怪的、不一致的行为。例如,这个:
git - 将链接的工作树放在主工作树的 .gitignore 目录下是否安全?
将链接的 git 工作树放在主 git 工作树的 .gitignored 子目录下是否安全?
例如,在我会做的主工作树的根目录中
https://spin.atomicobject.com/2016/06/26/parallelize-development-git-worktrees/上的网页说链接的工作树“应该在您的主存储库目录之外的某个地方”,但没有说明原因。如果它在 .gitignored 目录下,将它放在主工作树中会破坏 git 期望的任何不变量吗?
谢谢!
linux - 如何在虚拟机的主机-来宾文件系统上使用 Git 工作树
我在 Windows 的本地存储库中打开了一个新工作树,但无法在我的 Linux 虚拟机中编译它,因为“.git”包含一个以“C:/Git”开头的完整路径,而虚拟机没有认出。
我有一个 git 存储库,我经常需要在 Windows 和 Linux 上进行交叉编译。我最初在我的 Windows 系统中克隆了存储库,并将我的“C:”驱动器作为共享文件系统安装在虚拟 Ubuntu 机器中。这通常工作得很好。
当试图在 git 中打开一个新的工作树时,链接的存储库没有它自己的“.git”文件夹,而是一个指向原始存储库的“.git”文件夹的链接,这被保存为绝对路径,在以下格式:
尝试运行时:
我收到以下消息:
由于这个限制,我的几个脚本失败了。
有什么方法可以“欺骗”Linux 识别完整路径并正确识别原始 git 存储库?
git - 我怎样才能对签出相同存储库的 git 子模块进行重复数据删除?
我想在我自己的 repo 中跟踪一个大型 git repo 的两个不同分支作为子模块。例如,来自https://github.com/nixos/nixpkgs-channelsnixos-unstable
的andnixos-19.03
分支。
有没有办法添加子模块,以便 git 避免两次获取 repo 并避免在本地存储它的两个副本?
git - 无法删除已消失的本地工作树分支
我无法删除已消失的本地工作树分支。关键字是本地、工作树分支和消失。即,问题不能删除不存在的分支?和我的不匹配。
当我尝试在调用之前删除工作树文件夹时会发生这种情况git branch -d
。观察:
更新:
git worktree prune
可以删除工作树,但branch-b
仍然存在:
如何删除branch-b
我不再想要的?
python - 如何从 git worktree 命令生成多个文件夹?
这是我的数据框文件,其中包含 CommitId:
我需要检查每个提交并将代码版本复制到另一个目录中,因此对于此示例,我需要一个目录中的每个代码版本的 11 个,因此 11 个具有不同名称的目录
我试过这个示例代码:
但这不切实际,因为对于这个例子我有很多提交我有 11 次提交给其他人我有 100 多次提交。所以我尝试了这段代码,但它什么也没返回:
PS:我将提交放在一个列表中进行测试,然后我将从数据框中读取
git - 从工作树提交更改 .git/config 中的远程 url
当我尝试从工作树提交时,repo 配置文件更改为不正确的远程 url。当我从主工作树提交时,它会改回正确的。
从我在主分支的回购中,我通过以下方式创建了一个工作树:
当我准备好提交时
然后在 /path/to/my/master/.git/config 文件中
改为
然后所有使用遥控器的工作都失败了......