首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git藏库与工作树的困境

Git藏库与工作树的困境
EN

Stack Overflow用户
提问于 2011-06-17 23:40:35
回答 1查看 4.2K关注 0票数 9

我很难让Git与我的用户定义的工作树合作,该工作树存在于外部的之外,该文件夹包含我的.git目录。

基本上,设置如下:我有两个目录,一个叫做"git-worktree“,它包含我想要跟踪的文件,另一个叫做"git-dir”,它包含存储库的.git文件夹,也就是GIT_DIR。

我在存储库中加入了"git-dir“文件夹,并运行:

代码语言:javascript
复制
git --git-dir=./.git --work-tree=/Users/braitsch/Test/git-worktree/ init

这成功地初始化了存储库,当我在" git -dir“文件夹中时,我可以添加位于工作树中的文件,运行git状态并提交它们。凉爽的。

当我试图运行git stash时,就会出现这个问题,这会给我带来错误:

代码语言:javascript
复制
fatal: /usr/local/git/libexec/git-core/git-stash cannot be used without a working tree.

这是胡说八道,因为我知道(或者至少我认为)我将工作树设置为"git-worktree“文件夹,其中包含我想要跟踪的文件。

git config --local -l向我展示了以下内容:

代码语言:javascript
复制
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.worktree=/Users/braitsch/Test/git-worktree
core.ignorecase=true

我甚至尝试手动将.git文件夹添加到本地配置文件中,以查看这是否有帮助,但没有效果。

代码语言:javascript
复制
core.gitdir=/Users/braitsch/Test/git-dir/.git

现在又来了。如果我将工作树设置为Git -dir的父目录,例如,如果我将工作树设置为我的主目录,那么git存储将工作

代码语言:javascript
复制
core.worktree=/Users/braitsch/

因此,我的问题是,我缺少什么设置来告诉Git允许我的工作树在文件系统上存在anywhere,而不仅仅是沿着git-dir的父路径返回到根呢?当然,一定有一种方法可以将你的git-dir &您的工作树放在任何您想要的位置,并且在告诉Git它们在哪里之后,让所有的东西都能工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-17 23:59:55

代码语言:javascript
复制
git --git-dir=<your path> --work-tree=<work tree path> stash

应该行得通。你试过绝对的方法吗?

更新:

好像是个虫子。-- git -dir选项的扩展功能是最近才添加的,一些命令(如git stash )还没有新的实现。

吉特-藏是一个巴什脚本。您可以破解它并删除所需的工作dir检查,然后cd进入工作文件夹。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6392862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档