cbu*_*ler 6 git github github-for-mac
是否可以让包含多个存储库的文件夹使用一组凭据并让另一个文件夹用户使用不同的帐户?例如,我想在我的 mac 上有一个文件夹用于工作存储库,一个文件夹用于个人文件夹,并根据我所在的文件夹自动切换 git 用户名和密码。
Vik*_*dav 24
为特定文件夹配置 git config 太简单了。您只需使用两个 git 命令即可实现这一目标。只需输入您想要更改 git 帐户信息的目录并执行以下操作:
git config --local user.email "yourmail@example.com"
git config --local user.name "yourName"
Run Code Online (Sandbox Code Playgroud)
我认为这会有所帮助。
干杯!
小智 8
我可能是错的,但我只是创建不同的 git 配置文件并在 ~/.gitconfig 全局文件中定义条件。它看起来像这样:
\n[includeIf \xe2\x80\x9cgitdir:<path_to_organisation1_directory_with_repos>\xe2\x80\x9c]\n path = <path_to_organisation1_special_git_config_file>\n\n[includeIf \xe2\x80\x9cgitdir:<path_to_organisation2_directory_with_repos>\xe2\x80\x9c]\n path = <path_to_organisation2_special_git_config_file>\nRun Code Online (Sandbox Code Playgroud)\n
经过大量搜索后,我找到了我正在寻找的东西(但可能不完全是我最初要求的)。我采用的解决方案是使用 ssh。Github 有一些很好的帮助文档可供参考(在身份验证下),但基本上您必须 1.为每个帐户生成ssh 密钥并将其添加到 ssh 代理* 2.将ssh 密钥添加到您的 github 帐户 3. 在 Mac 上更新~/.ssh/config 中的配置文件(向下滚动到“在 GitHub 或 Heroku 上的多个帐户之间进行选择”)
为了解决这个问题,我创建了一个 bash 函数,将其添加到所有 shell 的 bash rc 文件中,这样我就可以将它作为终端命令调用。代码在这里:
#!/bin/bash
function addSshKeysToAgent() {
echo "starting ssh agent:"
echo ""
eval 'ssh-agent -s'
echo ""
echo "adding identities: "
ssh-add -K ~/.ssh/personal_rsa
ssh-add -K ~/.ssh/work_rsa
echo ""
echo "Private keys loaded into SSH: "
ssh-add -l -E md5
echo ""
echo "ssh keys added to ssh agent."
}
function clone() {
addSshKeysToAgent
git clone gh-work:Company/$1
}
Run Code Online (Sandbox Code Playgroud)
将 Personal_rsa 和 work_rsa 替换为您的 ssh 密钥文件的名称,将 Company 替换为您的组织名称(如果您想要这样做),该名称来自您更新的配置文件。我的配置文件如下所示:
Host *
Port 22
ServerAliveInterval 60
ForwardAgent yes
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/personal_rsa
IdentityFile ~/.ssh/work_rsa
Host gh-personal
Hostname github.com
User git
IdentityFile ~/.ssh/personal_rsa
AddKeysToAgent yes
UseKeychain yes
Host gh-work
Hostname github.com
User git
IdentityFile ~/.ssh/work_rsa
AddKeysToAgent yes
UseKeychain yes
Run Code Online (Sandbox Code Playgroud)
有了这一切,您应该能够使用以下命令从终端克隆存储库:
clone reponame.git
Run Code Online (Sandbox Code Playgroud)
我真诚地希望这可以帮助别人。我花了几乎一整天的时间来搜索和整理东西才能让这个工作正常进行,当我写这篇回复时,我发现了一个非常好的要点,可以完全按照我想要的方式去做
| 归档时间: |
|
| 查看次数: |
8620 次 |
| 最近记录: |