gpt4 book ai didi

git - .git/config 中的环境变量

转载 作者:太空狗 更新时间:2023-10-29 13:43:17 24 4
gpt4 key购买 nike

我有一个使用 --serparate-git-dir 选项创建的 git 存储库。我经常通过指定 --git-dir--work-tree 作为参数来使用来自不同工作树的相同 repo。

我有两个经常切换的工作树,所以我在辅助工作树中添加了一个 .git 文件,指向存储库目录。然而,由于存储库的 config 文件指向主工作树,我仍然必须明确指定它,否则它会使用主工作树。

我尝试在 .git/config 文件中将 worktree 的值设置为 $PWD ,但这会导致以下错误:fatal: Could not chdir to '$PWD': 没有那个文件或目录

有没有办法让 worktree 动态化?

最佳答案

我有一个类似的问题,因为我想让我的 ~/.gitconfig 可以跨平台移植,这样我就可以在我的 Macbook 和我的 Linux VM 上使用相同的 gitconfig。我需要 credential.helper 因平台而异。

我最后写了一个小的 generate_gitconfig 脚本,并将它添加到我的 bashrc 以便 ~/.gitconfig 在每次启动 shell session 时自动生成。

通过脚本编写你的 gitconfig 给你更多的灵 active ,因为你可以根据环境变量动态设置值,是否安装了某些命令,机器的主机名等。

这是我的 generate_gitconfig 脚本,作为示例:

#!/bin/bash

cat <<EOF > $HOME/.gitconfig
# This gitconfig was generated via ~/.bin/generate_gitconfig.
# Edit that file, not this one!

[user]
name = Dave Yarwood
email = dave.yarwood@gmail.com
[push]
default = simple
[core]
autocrlf = input
editor = nvim
excludesfile = $HOME/.gitignore_global
[rerere]
enabled = true
EOF

if [[ "$(uname)" == Darwin ]]; then
CREDENTIAL_HELPER="osxkeychain"
elif [[ -n "$(which gnome-keyring-daemon)" ]]; then
CREDENTIAL_HELPER="/usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring"
fi

if [[ -n "$CREDENTIAL_HELPER" ]]; then
cat <<EOF >> $HOME/.gitconfig
[credential]
helper = $CREDENTIAL_HELPER
EOF
fi

关于git - .git/config 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27249629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com