相关疑难解决方法(0)

运行"git clone git@remote.git"时如何提供用户名和密码?

我知道如何为HTTPS请求提供用户名和密码,如下所示:

git clone https://username:password@remote
Run Code Online (Sandbox Code Playgroud)

但我想知道如何为遥控器提供用户名和密码,如下所示:

git clone git@remote.git
Run Code Online (Sandbox Code Playgroud)

我试过这样的:

git clone username:password@git@remote.git
git clone git@username:password@remote.git
git clone git@remote.git@username:password
Run Code Online (Sandbox Code Playgroud)

但他们没有奏效.

git

747
推荐指数
12
解决办法
117万
查看次数

多个github帐户在同一台​​计算机上?

试着从我的计算机上处​​理我的实际"工作"回购,以及我在git hub上的个人回购.

工作帐户首先设置,一切都完美无瑕.

然而,我的个人帐户似乎无法推送到我的个人仓库,这是根据不同的帐户/电子邮件设置的.

我已经尝试将我的工作密钥复制到我的个人帐户,但这会引发错误,因为密钥只能附加到一个帐户.

如何从他们各自的github凭据中推送/拉出两个帐户?

git version-control github

372
推荐指数
13
解决办法
18万
查看次数

为给定域指定git push的SSH密钥

我有以下用例:我希望能够推送git@git.company.com:gitolite-admin使用用户的私钥gitolite-admin,而我想推送git@git.company.com:some_repo使用"我自己的"私钥.AFAIK,我无法解决这个问题~/.ssh/config,因为在这两种情况下用户名和服务器名都是相同的.由于我主要使用自己的私钥,因此我已将其定义~/.ssh/configgit@git.company.com.有没有人知道一种方法来覆盖用于单个git调用的密钥?

(旁白:gitolite基于密钥来区分谁在进行推送,因此在访问,所有权和审计方面,用户@服务器字符串对于不同的用户来说是相同的.)

git ssh gitolite

322
推荐指数
15
解决办法
22万
查看次数

为同一系统中的不同项目git多个用户名

我的办公室有一个不同的git存储库,我的业余爱好项目有一个不同的git repo.

当我git config --global user.name 在全局范围内更改用户名时,这会造成使用用户名提交到repo的混淆.

因此,问题是如何在我的所有业余爱好项目中使用相同的用户名,并在办公室项目中使用相同的用户名.我使用同一台机器在两个地方工作.

git git-config

135
推荐指数
2
解决办法
6万
查看次数

git提交为不同的用户,没有电子邮件/或只有电子邮件

我试图作为不同的用户提交一些更改,但我没有有效的电子邮件地址,以下命令对我不起作用:

git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
Run Code Online (Sandbox Code Playgroud)

尝试仅使用电子邮件地址提交时遇到同样的问题

git commit --author="john@doe.com" -m "some fix"
fatal: No existing author found with 'john@doe.com'
Run Code Online (Sandbox Code Playgroud)

在commit命令的git手册页上,它说我可以使用

standard A U Thor <author@example.com> format
Run Code Online (Sandbox Code Playgroud)

对于--author选项.

这种格式在哪里定义?A和U代表什么?我如何仅使用用户名或仅使用电子邮件为不同的用户提交?

git commit

112
推荐指数
7
解决办法
11万
查看次数

如何在终端中更改我的Git用户名?

我在终端推送和拉动git然后我在github.com上更改了我的用户名.我去推了一些更改,它无法推送,因为它仍然识别我的旧用户名..如何在终端上的git上更改/更新我的用户名?

git github git-config

100
推荐指数
11
解决办法
21万
查看次数

在一台计算机上的一个Git中切换用户身份

我在GitHub上一个存储库,让我们称之为.Repo-1

我想首先访问该存储库作为默认的Git用户.

我们打电话给那个用户User-1.

我创建了SSH密钥对,一切都很好,效果很好.


我在GitHub上创建另一个存储库,让我们称之为.Repo-2

没有在我的笔记本电脑上对本地Git进行任何更改.没有配置更改,没有.

现在-我要克隆Repo-1User-2(但在同一台笔记本电脑).

首先:这有可能吗?

一台笔记本电脑上的本地Git可以在"用户帐户"之间切换并呈现为自己User-2吗?然后,从这个身份,从Repo-1克隆,做出一些改变,然后推送到Repo-1

如果可能,我该怎么做?

git github

79
推荐指数
2
解决办法
13万
查看次数

Git作为错误的用户推送到远程GitHub存储库

我有一个工作GitHub帐户和个人帐户.首先,我将个人用于测试项目,然后我继续前进并在同一台计算机上使用另一个帐户创建了一个存储库.

现在我想再次在我的个人帐户上创建一个新的存储库,我更改了全局和本地user.name,并在GitHub设置页面中输入了一个新的ssh密钥对.然后我设置了目录

git init
git remote add origin <url>
git push origin
Run Code Online (Sandbox Code Playgroud)

但现在告诉我

错误:对personaluser/newrepo.git的许可被拒绝

我不知道其他帐户是如何连接到这个帐户的..git/config显示没有workusername相关的东西.

如果您使用的是Windows 10,请花些时间阅读Rajan的答案.

git permissions github

74
推荐指数
8
解决办法
6万
查看次数

在git config中进行Shell变量扩展

我有一个shell变量,指向我所有配置文件所在的目录.我们假设变量是用export RC=$HOME/rc.创建的.我在配置目录中有一个全局忽略文件:~/rc/globalgitignore.

我的问题是,如何RC在我的.gitconfig文件中扩展变量?

我已经尝试过以下方法:

  • excludesfile = $RC/globalgitignore

  • excludesfile = !$RC/globalgitignore

  • excludesfile = !echo $RC/globalgitignore

  • excludesfile = !$(echo $RC/globalgitignore)

这些解决方案都不起作用.

如果我输入完整路径excludesfile = ~/rc/globalgitignore,这是唯一的方法:但是,如果将我的rc目录移动到其他位置,我必须更改路径.

git shell

51
推荐指数
3
解决办法
1万
查看次数

为所有子文件夹设置git配置值

我知道可以设置覆盖用户级配置的每个repo配置(即/path/to/my/repo/.gitconfig覆盖~/.gitconfig).是否可以设置git配置覆盖给定文件夹的所有子文件夹的用户级设置?即,我有

|--topLevelFolder1
|--\
|   ---.gitconfig_override
|--\
|   ---childFolder1
|       \---[...]
|--\
|   ---childFolder2
|       \---[...]
Run Code Online (Sandbox Code Playgroud)

我希望定义的设置.gitconfig_override适用于childFolder1childFolder2.

我的动机如下:我有一台工作笔记本电脑,我也在业余时间用于个人项目.我的所有工作代码都嵌套在一个文件夹中.当我推动工作git repos时,我需要用我的工作角色 - 工作登录而不是名字,以及工作电子邮件.当我推送到我自己的个人(github)回购时,我想用我的真实姓名和个人电子邮件这样做.

我想到的其他可能的解决方案(和问题):

  • 为"工作"和"播放"创建单独的用户,适当地设置他们的用户级设置,并在切换上下文时以适当的用户身份登录(麻烦,加上我很容易忘记切换)
  • 创建一个脚本,在"workFolder"中搜索git repos,并添加/更新他们的.gitconfig文件以保存相应的详细信息(如果我创建一个repo并忘记在推送之前运行脚本,我将推送错误的人)
  • "hack"git,这样每次创建一个repo时,它都会检查文件路径,并在适当的情况下更新.gitconfig文件(复杂,混乱,几乎可以肯定是错误的方法 - 加上,我不会第一个线索如何去做!)

我检查了这个问题,它似乎只包含单个回购的解决方案,而不是多个.希望有人会看到错过那个问题的这个问题!

git

50
推荐指数
4
解决办法
7209
查看次数

标签 统计

git ×10

github ×4

git-config ×2

commit ×1

gitolite ×1

permissions ×1

shell ×1

ssh ×1

version-control ×1