在 TortoiseGIT 上设置 git-dir 和 git-work-tree
我想了解是否可以在 TortoiseGIT 中设置 --git-dir 和 --git-work-tree 参数。我有一个存储单元中的工作目录,并且我不能将 .git 目录保留在那里,因为它的备份每天完成一次,并且会浪费很多空间,所以我必须将我的.git 目录在另一个地方。
如果我使用 GIT 控制台并且执行 progit 上描述的所有操作,则此方法有效,设置 GIT_DIR 环境变量。
有什么办法可以用 TortoiseGIT 做到这一点吗?我希望有一个像 .gitignore 这样的文件来告诉 git 在哪里可以找到 .git dir,但到目前为止我什么也没得到。
如果您知道其他允许执行此操作的 GUI,它将很有用。
任何帮助表示赞赏, 谢谢,米歇尔
PS:我无法将我的项目存储在另一个地方,我不想每次处理项目时都合并这两种方式,因为我不知道是否有人在那里工作。所以 GIT_DIR 解决方案是迄今为止我得到的最好的解决方案。
I am trying to understand if I can setup --git-dir and --git-work-tree params in TortoiseGIT. I have the working directory in a storage unit, and I can't keep .git directory there because its backup is done once a day and there would be a lot of wasted space, so I must put my .git dirs in another place.
This works if I use GIT console and I do all the things described on progit, to setup GIT_DIR environment variable.
Is there any way I can do this with TortoiseGIT? I hoped that there were a file like .gitignore to tell git where to find .git dir, but I got nothing so far.
If you know other GUIs that allow to do this it will be useful.
Any help appreciated,
thanks, Michele
PS: I cannot store my projects in another place and I'd prefer to not to merge both ways everytime I work on projects because I don't know if someone else worked there. So GIT_DIR solution is the best thing I've got so far.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过执行以下操作来完成此操作:
git init --separate-git-dir="PATH_TO_A_NEW_GIT_FOLDER"
这将放置一个源文件夹中的 .git 文件将指向这个新文件夹。
You could do this by doing the following :
git init --separate-git-dir="PATH_TO_A_NEW_GIT_FOLDER"
This will put a .git file in your source folder that will point on this new folder.
它需要一些额外的工作,但最终我成功了。
我在 Explorer 中使用 T´Git,在 Msys2 plus
--separate-git-dir
中使用 Git。T´Git:2.15.0 + git-2.42.0.windows
Msys2-Git:2.42.0
您将获得一个工作目录
foo/
,其中文件./foo/.git
包含以下内容:gitdir: /c/path/to/gitdir
gitdir: c:/path/to/gitdir
(它也适用于相对路径)
T´Git 能够处理正斜杠,而 Msys2-Git 接受
C:/..
路径语法。< br>现在您可以通过资源管理器使用 T´Git,也可以通过 Msys2-Bash 使用 Git。
顺便说一句:我有一个 bash 脚本
"tgit"
,用于从当前目录打开 T´Git-Log。重要的部分是这样的:
有趣:据我所知,T´Git 有一个
/path:
选项,但没有像/git-dir:..
它也没有方法创建具有单独 Git-Dir 的 Git-Repo。
It needed a little extra work, but finally I got it working.
I use both T´Git in Explorer and Git in Msys2 plus
--separate-git-dir
.T´Git: 2.15.0 + git-2.42.0.windows
Msys2-Git: 2.42.0
git init --separate-git-dir=path/to/gitdir foo
in MSys2 bashYou get a workdir
foo/
with file./foo/.git
containing something like:gitdir: /c/path/to/gitdir
gitdir: c:/path/to/gitdir
(it also works with relative paths)
T´Git is able to handle the forward-slashes while Msys2-Git is accepting the
C:/..
path syntax.Now you can use T´Git via explorer and also Git via Msys2-Bash.
BTW: I have a bash script
"tgit"
, to open T´Git-Log from current directory.The important part is like this:
Funny: As far as I can see, T´Git has a
/path:
option, but nothing like/git-dir:..
It also has no method to create a Git-Repo with separated Git-Dir.