我想检查整个分支,但只能在该分支的特定目录中工作。因此,我想在整个树中“潜入”并使我的工作树只反映我选择的子目录。 E.g:
"master" tree
dir1/
file1
file2
dir2/
file3
work-dir tree
.git
file1
file2
我的猜测是这样做:
git checkout master:dir1/
但是,这不起作用并报告错误:
fatal: Cannot switch branch to a non-commit 'master:dir1/'
这可能吗?
注意:我不想使用子模块,因为我不想将我的repo切成不相关的部分。据我所知,子树合并只能帮助我同步两个具有相似结构但历史不同的独立目录。我想修改repo中的原始对象,并能够来回合并它们并保留所有历史记录。
答案 0 :(得分:0)
这是不可能的。但是,您可以使用cd dir1
,git仍然可以在那里使用,允许您使用git add file1
代替git add dir1/file1
等。