GIT over HTTP настроить аутентификацию имени пользователя. credential.username не работает?
Я работаю над проектом, в котором git-репозиторий (gitolite) настроен так, чтобы разрешить мне только https-доступ. Хуже имя пользователя, которое они создали для аутентификации, ужасно. В моем.git / config у меня user.name установлено мое настоящее имя, так что мои коммиты правильно связывают меня со мной. Однако всякий раз, когда я нажимаю или тяну, я должен запомнить и правильно напечатать (тем не менее!) Мое ужасное имя пользователя авторизации. Я хочу установить мой идентификатор пользователя авторизации в конфигурации для моего локального репозитория git.
На http://git-scm.com/docs/git-config и http://git-scm.com/docs/gitcredentials.html я пытался
git config credential.username <bletcherous-name>
а также
git config credential.https://git-server.myco.com.username <bletcherous-name>
но это не имело никакого эффекта. Мне все еще предлагали ввести имя пользователя при подключении.
В конечном итоге я обнаружил, что могу сделать следующее. Но кажется, что ниже это взломать, и что выше должно было работать. Есть идеи, что я делаю не так?
git remote rm origin
git remote add origin https://bletcherous-name@git-server.myco.com/git/my-repo.git
1 ответ
В итоге:
git config --local credential.https://git-server.myco.com.username bletcherous-name
Вот транскрипт оболочки, показывающий, что эта и другие подобные вещи делают с файлом конфигурации Git, так что вы можете (как я предпочитаю) просто редактировать файл конфигурации напрямую.
localuser@localhost:~$ mkdir foo
localuser@localhost:~$ cd foo
localuser@localhost:~/foo$ git init
Initialized empty Git repository in /home/localuser/foo/.git/
localuser@localhost:~/foo$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
localuser@localhost:~/foo$ git remote add origin https://bletcherous-name@git-server.myco.com/git/my-repo.git
localuser@localhost:~/foo$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://bletcherous-name@git-server.myco.com/git/my-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
localuser@localhost:~/foo$ git remote rm origin
localuser@localhost:~/foo$ git remote add origin https://git-server.myco.com/git/my-repo.git
localuser@localhost:~/foo$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://git-server.myco.com/git/my-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
localuser@localhost:~/foo$ git config --local credential.https://git-server.myco.com.username bletcherous-name
localuser@localhost:~/foo$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://git-server.myco.com/git/my-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[credential "https://git-server.myco.com"]
username = bletcherous-name
localuser@localhost:~/foo$