首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git init --单独的-git-dir覆盖现有的.git文件夹。

git init --单独的-git-dir覆盖现有的.git文件夹。
EN

Stack Overflow用户
提问于 2020-03-02 12:02:04
回答 3查看 622关注 0票数 0

我有个回购:

代码语言:javascript
复制
mkdir test
cd test
git init
touch hi.txt
git add .
git commit -m 'first test add'
git status

其中我想添加一个单独的git来管理不同的工作:

代码语言:javascript
复制
git init --separate-git-dir .git2

运行此命令,但是使用存储符号链接的文件覆盖.git

我不希望这种事发生

我想要原始的.git回购/文件夹和.git2和谐地生活.

这样我就可以运行以下命令:

git --git-dir=.git2 add new_file.txt

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-03 02:46:31

解决了以下问题:

代码语言:javascript
复制
git --work-tree=. --git-dir=git2 init

而不是使用--separate-git-dir标志

现在,每个后续命令都需要:

代码语言:javascript
复制
git --work-tree=. --git-dir=git2 status
git --work-tree=. --git-dir=git2 add .
git --work-tree=. --git-dir=git2 commit -m 'yay!'

简奇。但这正是我所需要的。

票数 0
EN

Stack Overflow用户

发布于 2020-03-02 14:07:06

--separate-git-dir选项的目的不是在同一个存储库中为您提供多个.git目录,而是将.git目录与工作树分离。

来自文档

不要将存储库初始化为$GIT_DIR./.git/目录,而是在那里创建一个文本文件,其中包含指向实际存储库的路径。 如果这是重新初始化,存储库将被移动到指定的路径。

例如,这允许您将.git目录移动到单独的存储位置(例如,出于空间或备份的原因),同时仍然将工作树保持在原来的位置。

如果您想将多个单独的存储库(每个存储库都有自己的历史记录)合并到一个存储库中,则可能需要查看子模

票数 3
EN

Stack Overflow用户

发布于 2020-12-15 19:05:58

你用错了旗子。--单独的-git-dir标志是将您的.git文件夹存储到自定义位置,而不是您的项目的根目录。

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

https://stackoverflow.com/questions/60488421

复制
相关文章

相似问题

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