相关疑难解决方法(0)

使用Git的多个工作目录?

我不确定这是否是Git所支持的东西,但理论上它似乎应该对我有用.

我的工作流程通常涉及我同时在多个分支中编辑文件.换句话说,我经常想在一个分支中打开一些文件,而我在另一个分支中编辑另一个文件的内容.

我的典型解决方案是进行两次检查,但遗憾的是我不能在它们之间共享分支和引用.我想要的是只有两个工作目录由同一个.git文件夹管理.

我知道本地git clone解决方案(默认情况下,硬链接共享对象,以及--shared选项,它使用原始repo设置备用对象存储),但这些解决方案只减少了磁盘空间使用量,特别是在--shared的情况下,似乎充满了危险.

有没有办法使用一个.git文件夹,并有两个工作目录由它支持?或者是Git硬编码只是随时检查一个工作目录?

git

233
推荐指数
3
解决办法
8万
查看次数

与Git单一工作分支

赏金简短说明

是否有可移植的方式来使用具有多个检出的单个存储库?作为多个克隆的替代方案,其中有太多的开销(推/拉/同步......)以及覆盖.git/objects硬链接的风险(甚至在Windows上都不起作用).


git很新,很想听听有经验的git用户的想法.

是否有一个概念上的原因,为什么git一次只适用于一个分支?在大多数情况下我需要同时处理至少两个不同的分支,例如构建,并行运行时,在分支之间切换前后似乎是绝对不切实际的.

好吧,也许开发人员不一定需要同时在两个分支上工作.但检查另一个分支不会自动携带忽略的东西,如构建输出文件.因此,aso需要进行新的重建

有这个脚本git-new-workdir应该允许多个工作分支,但是对于一个,它不是git发布的一部分,虽然它已经存在了大约3年,所以我不相信它保持我的文件一致.其次,我找不到它作为Windows发行版的一部分,它是我用于开发的机器之一.

所以唯一正式的选择是为每个分支创建一个新的"克隆",这似乎是不正确的,因为每个克隆都是一个完整的存储库.我甚至不知道该怎么称为克隆目录 - 我是使用存储库名称还是分支名称或两者兼而有之?如果我在该分支上创建另一个分支,aso

实际用例更新 (@ Philip的建议)

我通常会处理两个主要/次要版本,其功能同时进行.在合并到未来的某个版本之前,还有一个偶尔的开发分支,其中包含实验功能.

在功能开发期间,通常会降低行为,并且将其与更改之前的行为进行比较会更有效.检查以前的分支/修订版是不够好的,因为很多时候它都是并行调试,这意味着需要在硬盘驱动器上同时检出这两个版本.

因此,更方便和自然的方法是保留一些所谓的"活动"分支,每个分支都在自己的目录中检查,并使用自己编译的二进制文件.这也可以节省编译时间和偶尔的本地设置(即每次结账后需要更改的配置文件,以使产品运行).

git

19
推荐指数
4
解决办法
2219
查看次数

修复损坏的git存储库.没有默认修订版'HEAD'

抱歉模棱两可的标题.如果有人能想出更好的东西,请编辑一下让我知道.

最近,我删除了一个git存储库,并从服务器中检出了一个新的副本.不幸的是,当我这样做时,我忘记了我正在使用git-new-workdir(我以为我克隆了我的回购检查两次).现在我在"workdir"中无能为力:

$ git log
fatal: bad default revision 'HEAD'
Run Code Online (Sandbox Code Playgroud)

并且git status给予了比它应该做的更多的改变.有没有人对我如何解决这个问题有任何想法?

更多信息:

跑步git fsck给我以下内容:

$ git fsck
notice: HEAD points to an unborn branch (dipole_fix)
missing blob d92f4a4f53c95c375146d9623910d8ec214aa02f
missing blob 7d81095605082af3252a47b47d81e48d4a78a668
missing blob f5d21b7785c4bca4efaa91ce5ef5a8bd82d98792
missing blob 79d3ad61db697ca7e89dbfd089a472dab0a7851b
missing blob 2cf0e64cbc0a816d7dc1b26fef43c2eb7c4fb6ac
Run Code Online (Sandbox Code Playgroud)

对于它的价值,我确实有一个带dipole_fix分支的远程分支.它应该(相对)是最新的.

更新1 - 查看.gitworkdir 中的内容,似乎我有一些悬挂的符号链接.

lrwxrwxrwx 1 mgilson mgilson     39 2012-04-26 10:43 remotes -> /orig_repo/.git/remotes
lrwxrwxrwx 1 mgilson mgilson     40 2012-04-26 10:43 rr-cache -> /orig_repo/.git/rr-cache
lrwxrwxrwx 1 mgilson mgilson …
Run Code Online (Sandbox Code Playgroud)

git

8
推荐指数
1
解决办法
6794
查看次数

Git 工作树:两个工作树指向同一个位置,不能被修剪

当我这样做时git worktree list,它显示如下。

/path/to/workspace  c943d35 [master]
/path/to/workspace  ef4df56 (detached HEAD)
Run Code Online (Sandbox Code Playgroud)

这是我的工作目录(不是工作树目录)。我不知道它是怎么发生的,以及如何清洁它。我试过了git worktree prune,但它不会改变任何东西。任何帮助将不胜感激。非常感谢。

git git-worktree

4
推荐指数
1
解决办法
1293
查看次数

标签 统计

git ×4

git-worktree ×1