微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SourceTree 不会使用自定义的 .git 文件夹名称 regconize Git 存储库

如何解决SourceTree 不会使用自定义的 .git 文件夹名称 regconize Git 存储库

文件夹结构

----工作文件

----------|-----.gitone

----------|-----.gittwo

----------|-----其他项目文件

简短: SourceTree 不会使用自定义的 .git 文件名称来调整 Git 存储库。我的 Git 存储库,我已将 .git 重命名.gitone。在 export GIT_DIR=.gitoneGIT_WORK_TREE 常量的帮助下,Git CLI 可以识别我的 WorkingFolder 并正常工作。但是,当我添加 WorkingFolder 时,SourceTree 不会对此进行调整,说 This is not a valid working copy path.

相关:

  1. Two git repositories in one directory?
  2. 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 .gitonemv .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,这意味着 WorkingFolder2WorkingFolder 在我 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。