在我~/.gitconfig,我列出我的个人电子邮件地址[user],因为这是我想用于Github回购.
但是,我最近也开始使用git工作.我公司的git repo允许我提交,但是当它发出新变更集的公告时,它说它们来自匿名,因为它不能识别我的电子邮件地址.gitconfig- 至少,这是我的理论.
是否可以指定多个[user]定义.gitconfig?或者是否有其他方法来覆盖.gitconfig某个目录的默认值?在我的情况下,我检查所有工作代码~/worksrc/- 有没有办法只指定一个.gitconfig目录(及其子目录)?
我有一个git和我的终端问题.
这是一个向您展示我的问题的图库:http://imgur.com/a/6RrEY
当我从我的终端推送提交时,git说我用另一个用户名推送它们,那是我的组织(我公司)的用户,根本没有提交,似乎它不属于任何人:( 查看图库第一张图片)
但是当我使用Github for mac时,这种情况不会发生,在Feed中我看到了自己提交的提交.
这个问题也影响了我的个人存储库,我的终端说我没有权限推送这些存储库的提交(这显然是错误的),因为它试图用这个用户推送它:( 查看图库第二张图片)
你猜怎么着 ?对于Mac来说,Github也不会发生这种情况.
几天前我把我的电脑变成了一个全新的电脑,所以我重置了我所有的github的ssh密钥并且只留下了一个由Github for Mac生成的新密钥,所以我不认为有一些ghost用户/ ssh密钥被隐藏了在某个地方,这个硬盘是全新的:( 查看图库第三张图片)
我的.gitconfig文件全部清除,只有我的凭据:( 查看图库第四张图片)
我真的不明白,帮助,StackOverflow,你是我唯一的希望.
(我为我可怜的Gimp技能和星球大战参考道歉)
编辑: ssh-add -l只显示由github为mac创建的好的ssh密钥,我只有一个github帐户
EDIT2: ssh -T git@github.com认出我是好用户.
EDIT3:经过几次测试后,看起来我的终端用我的用户名进行提交,但是用另一个提交它们,Github用于mac提交并推送好的用户名.这种情况发生在我拥有/制作的每个仓库(甚至是新的)那些).
EDIT4:在个人存储库中git log --pretty="%h %an %ae"显示我的好用户名
编辑5:没有任何环境变量的迹象会覆盖我的凭据env.即使我尝试设置具有良好凭据问题的变量仍然存在.
编辑6:如果我强迫用户在/.git/config存储库的路径中,事情正常工作,但我认为这不是一个好的选择:http://USER@github.com/USER/REPO.git
编辑7:我们删除了为我推送提交的git用户,这带来了另一个错误:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'
最终编辑:我用自制软件安装了git,打字 git config --global push.default simple ,现在即使不强迫用户也需要我的凭据.真奇怪.谢谢大家的帮助,你们真棒!
我已经按照GitHub说明设置了我的帐户,我可以克隆,但我无法远程推送.
当我执行"git push"时,我收到403错误.它具有正确的URL.我尝试了一个"git credential-osxkeychain get"来查看它给出的内容,并打印出错误的凭据.
我相信发生的事情是它第一次要求凭据,我认为这是另一个应用程序要求,并且它将错误的应用程序放入其中.
我只需要重置它,以便它为我的GitHub帐户使用正确的钥匙串项.
我试过了:
git credential-osxkeychain erase
git credential-osxkeychain set
Run Code Online (Sandbox Code Playgroud)
该程序从不给出任何提示.如果我不做正确的话,Set会说"输入错误".我尝试输入" password=password"等,但是当我做"获取"时,我仍然得到旧的.
我无法弄清楚这些存储的位置,因为它们不在.gitconfigure中.此外,最近没有钥匙链项目可能是它.(我的钥匙串中有几个GitHub帐户,它没有使用任何帐户.)
我有一个在git.debian.org(alioth)上托管的项目,我想在http://gitorious.org上配置一个post-receive钩子来更新存储库的镜像.
我想我必须要用 git push --mirror gitorious
现在,我需要让Alioth获得授权才能获得成功.我怎么做?
我想我需要在gitorious上配置用户并为其创建一个ssh密钥.然后当我在post-receive钩子中执行git push时,请确保使用此ssh键.
我可以使用~/.ssh/config但问题是许多用户可以推送aloth,每个人都必须登录并配置~/.ssh/config.相反,我想要一个命令行选项或环境变量来告诉ssh使用哪个键.我能这样做吗?
另外,您是否有其他想法可以实现镜像?并且,是否有可能以相反的方式配置它(有效推动阿里斯)?