如何解决SourceTree 不会使用自定义的 .git 文件夹名称 regconize Git 存储库
文件夹结构
----工作文件夹
----------|-----.gitone
----------|-----.gittwo
----------|-----其他项目文件
简短: SourceTree 不会使用自定义的 .git 文件夹名称来调整 Git 存储库。我的 Git 存储库,我已将 .git
重命名为 .gitone
。在 export GIT_DIR=.gitone
和 GIT_WORK_TREE
常量的帮助下,Git CLI 可以识别我的 WorkingFolder
并正常工作。但是,当我添加 WorkingFolder
时,SourceTree 不会对此进行调整,说 This is not a valid working copy path.
相关:
- Two git repositories in one directory?
- https://github.com/rrrene/gitscm-next/blob/master/app/views/blog/progit/2010-04-11-environment.markdown
更长:
WorkingFolder
是主要工作场所,它有 2 个远程存储库。
但问题是:由于相同的 .git
文件夹,这两个存储库具有相同的日志。我希望它们是离散的并且有不同的日志。这就是为什么我使用 2 个命令 .gitone
和 .gittwo
创建了 2 个名为 mv .git .gitone
和 mv .git .gittwo
的文件夹。以下代码是我到目前为止所做的:
Git CLI 根文件夹:WorkingFolder
export GIT_DIR=.gitone
export GIT_WORK_TREE=<path_to_WorkingFolder>
这个书呆子到底为什么要在同一个目录下添加两个 repo?/你为什么不创建另一个分支?
我有一个与我的团队合作的存储库。 同时,我还想将现有代码的一小部分添加到另一个存储库中,以供个人将来重用。所以添加“个人”分支不在选项列表中。
我知道我可以创建 another
文件夹,然后每次更改时,我都会复制更改的文件并将它们粘贴到 another
文件夹中。我觉得这不是很“Git”的风格,也不是一种正确的方式。
那么,我如何将这些存储库添加到 SourceTree 中?或者您对如何实现这一目标有任何想法?
感谢任何建议。
编辑:还没弄明白。我设法让两个 repos 为我的目的工作。对于初级开发,我只是让 .gitone
文件夹使用 Git 序号(.git
),SourceTree 将与此 repo 一起使用。出于其他目的 (.gittwo
),我必须通过 Git CLI 手动控制。 问题仍然悬而未决!
编辑:Git-gui 能够使用 git --git-dir=.gittwo gui
打开分配给它的日志文件夹。不过我还是更喜欢 SourceTree
我该如何重现您的问题?
克隆任何 Git 存储库,输入 mv .git .gitanyname
。尝试使用 SourceTree 打开 repo
解决方法
我有一个与我的团队合作的存储库。同时,我也想将现有代码的一小部分添加到另一个存储库中,以供个人日后重复使用。
我会:
- 在 WorkingFolder 之外创建第二个个人存储库文件夹
- 每当我想从第一个存储库添加文件时,请使用第一个 WorkingFolder/.git
即:
cd /path/to/WorkingFolder
cd ..
git init WorkingFolder2
cd WorkingFolder2
git --work-tree=../WorkingFolder add -- afile-from-WorkingFolder
git status
git commit -m "Import afile-from-WorkingFolder"
这样,SourceTree 仍然可以毫无问题地打开/可视化两个存储库。
如果我尝试使用 --git-dir=../WorkingFolder/.git
,这意味着 WorkingFolder2
是 WorkingFolder
在我 PC 上的物理存储方面的重复吗?
实际上,我的意思是使用 --work-tree
,而不是 --git-dir
:您从 WorkingFolder2
保留索引,但从 WorkingFolder
导入文件。
而且,仅适用于 git add
命令,每当您需要将文件从 WorkingFolder
导入/更新到 WorkingFolder2
时。
我在 discussion 中提议,适用于 Windows 10(由 OP 使用):
set GIT_WORK_TREE=C:\path\to\WorkingFolder
cd C:\parth\to\WorkingFolder2
%LOCALAPPDATA%\SourceTree\SourceTree.exe
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。