Mercurial이 커밋에 사용하는 사용자 이름을 어떻게 설정합니까?


79

Mercurial에서 다음과 같이 커밋 할 때 :

hg commit -m "username question"

이 출력이 표시됩니다.

No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead

ChunkyMonkey내 Windows 컴퓨터 이름이며 분명히이 컴퓨터에 WindowsVistaAdmin로그인 한 사용자입니다.

사용자 이름을 더 존경 할만한 또는 최소한 더 간결한 것으로 설정하려면 어떻게해야합니까?

답변:


118

당신에 ~/.hgrc(* nix에서 스크립트) 또는 mercurial.ini(윈도우) 파일 :

[ui]
username = First Last <email@address.com>

( mercurial.iniC:\Documents and Settings\[username]\XP 및 낮은, C:\Users\[username]\비스타 이상. 또한 실행할 수 있습니다 hgtk userconfig당신은 TortoiseHg가 설치되어 있고 그런 식으로 할 경우.)


3
OSX 10.8에서는 .hgrc 파일을 직접 만들어야했습니다.
Graham P Heath

버전 2.0 이상에서는 TortoiseHg 명령이 thg.
geronimo

30

--config를 사용하려면 명령 줄에서 직접 사용자 이름을 지정할 수 있습니다. 예 :

hg --config ui.username=frymaster -m "comment here" commit

실제로이 명령을 사용하여 .hgrc의 모든 항목을 재정의 할 수 있습니다. .hgrc를보고 형식을 확인하십시오.

[section]
key=val

직접 번역

hg --config section.key=val

다른 개발자의 변경 사항을 저장소에 삽입하는 데 적합합니다!
sage

이것이 mercurial의 문서 / 도움말에없는 이유는 무엇입니까? 나는이 작업을 수행 할 수 있다고 생각하지만, 생각 수은 그냥 지진아에 거의 해결하고 내가 통해 그것을 발견하지 않은 경우이를 허용하지 않았다 hg config -h, hg config -h --verbose, hg help config,도 온라인에서 selenic.com/mercurial/hg.1.html#config
NAKI

1
오 ... 신경 쓰지 마. 당신은 --config대신 config: 명령 수준 재정의에 사용되는 다른 명령에 대한 옵션입니다 ... 아직 내가 원하는 것이 아닙니다. 유감스럽게도 .... 왜 난 그냥 입력 할 수 없습니다 hg config -l ui.username=username for this repo. 이렇게하면 ID 설정 별칭을 쉽게 구현할 수 [alias] identity1=config -l ui.username=my prewritten user info all ready to be designated for use on of many newly cloned repos with various identities associated있습니다..
naki 2016-04-02

16

여기 에서 정보 :

사용자 이름 설정

처음으로 hg commit을 실행하려고하면 성공이 보장되지 않습니다. Mercurial은 귀하가 커밋 할 때마다 귀하의 이름과 주소를 기록하므로 귀하와 다른 사람들이 나중에 누가 각 변경을 수행했는지 알 수 있습니다. Mercurial은 변경 사항을 커밋 할 수있는 적절한 사용자 이름을 자동으로 파악하려고합니다. 다음 방법을 순서대로 시도합니다.

  1. 명령 줄에서 hg commit 명령에 -u 옵션을 지정한 다음 사용자 이름을 지정하면 항상 가장 높은 우선 순위가 지정됩니다.
  2. HGUSER 환경 변수를 설정 한 경우 다음에 확인됩니다.
  3. 사용자 이름 항목과 함께 .hgrc라는 파일을 홈 디렉토리에 생성하면 다음에 사용됩니다. 이 파일의 내용을 보려면 아래의 "Mercurial 구성 파일 만들기"섹션을 참조하십시오.
  4. EMAIL 환경 변수를 설정 한 경우이 변수가 다음에 사용됩니다.
  5. Mercurial은 시스템을 쿼리하여 로컬 사용자 이름과 호스트 이름을 찾고 이러한 구성 요소에서 사용자 이름을 구성합니다. 이로 인해 유용하지 않은 사용자 이름이 생성되기 때문에이를 수행해야하는 경우 경고를 출력합니다.

이러한 메커니즘이 모두 실패하면 Mercurial이 실패하고 오류 메시지가 표시됩니다. 이 경우 사용자 이름을 설정할 때까지 커밋 할 수 없습니다.

Mercurial의 기본 사용자 이름 선택을 재정의하는 방법으로 HGUSER 환경 변수와 hg commit 명령에 대한 -u 옵션을 생각해야합니다. 일반적인 사용을 위해 사용자 이름을 설정하는 가장 간단하고 강력한 방법은 .hgrc 파일을 만드는 것입니다. 자세한 내용은 아래를 참조하십시오.


7
저장소별로 사용자 이름을 설정할 수 있습니까?
edomaur

4
@edomaur, 그것이 그래, 당신은 편집해야 ./hg/hgrc당신이 설정해야 질문에서 저장소의 파일 username = Dev server에서 [ui]섹션
드미트리 Koroliov

10
Stackoverflow는 Google이 간결하고 이해하기 쉬운 형식으로 정보를 제공하지 않기 때문에 만들어졌습니다.
Sebastian Patten 2013

3

내 창 /users/xxx/mercurial.ini의 모습은 다음과 같습니다. 사용자 이름이나 비밀번호를 입력 할 필요가 없습니다. 저장소별로 다를 수 있습니다. 나는 tortoiseHG가 설치되어 있는데 그것이 어떤 차이가 있는지 확실하지 않습니다.

[ui]
username=mbroekhuis

[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret

1
일반 텍스트로 된 암호를 사용하는 것은 좋은 생각이 아닙니다.
Mo2

나는 동의하는 경향이 있습니다. 그 부분을 생략 할 수 있습니다.
Matt Broekhuis 2015 년

2

HG 워크 벤치를 사용하려는 사람

설정

여기에 이미지 설명 입력

사용자 전역 설정

여기에 이미지 설명 입력

파일 편집

여기에 이미지 설명 입력

저장

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.