SourceTree 未使用自定义 .git 文件夹名称重新定义 Git 存储库
SourceTree doesn't regconize Git repository with custom .git folder name
文件夹结构
----工作文件夹
------------|-----.git一个
------------|-----.git两个
------------|-----其他项目文件
简短: 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 个命令 mv .git .gitone
和 mv .git .gittwo
创建了两个名为 .gitone
和 .gittwo
的文件夹。以下代码是我到目前为止所做的:
Git CLI root folder: 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
I have a repo for working with my team. At the same time, I also want to add a small part of existing code to another repository for personal future reuse.
我会:
- 在 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 仍然可以 open/visualize 两个存储库都没有问题。
If I try with --git-dir=../WorkingFolder/.git
, it that means WorkingFolder2
is a duplication of WorkingFolder
in term of physical storage on my PC?
实际上,我的意思是使用 --work-tree
,而不是 --git-dir
:您保留来自 WorkingFolder2
的索引,但从 WorkingFolder
.
导入文件
而且,仅适用于 git add
命令,每当您需要从 WorkingFolder
到 WorkingFolder2
.
的 import/update 文件时
我在 discussion 中提出,对于 Windows 10(OP 使用):
set GIT_WORK_TREE=C:\path\to\WorkingFolder
cd C:\parth\to\WorkingFolder2
%LOCALAPPDATA%\SourceTree\SourceTree.exe
文件夹结构
----工作文件夹
------------|-----.git一个
------------|-----.git两个
------------|-----其他项目文件
简短: 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 个命令 mv .git .gitone
和 mv .git .gittwo
创建了两个名为 .gitone
和 .gittwo
的文件夹。以下代码是我到目前为止所做的:
Git CLI root folder: 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
I have a repo for working with my team. At the same time, I also want to add a small part of existing code to another repository for personal future reuse.
我会:
- 在 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 仍然可以 open/visualize 两个存储库都没有问题。
If I try with
--git-dir=../WorkingFolder/.git
, it that meansWorkingFolder2
is a duplication ofWorkingFolder
in term of physical storage on my 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