[Git] SourceTree에서 Feature 브랜치 병합 Issue
오늘 안드로이드 feature 브랜치에서 작업을 끝나고, source tree에서 기능 개발 완료 버튼을 클릭하니 다음과 같은 이슈가 있었다.
Fatal: could not read username for 'https://github.com' device not configured
위의 이슈는 Git Credential에 설정 되어 있는 username 정보가 정확하지 않아, feature 브랜치를 develop 브랜치에 병합하는 작업이 정상적으로 수행되지 않는 것이었다.
해결 방법은 터미널을 켜고 프로젝트 폴더로 이동해 아래의 명령어를 입력한다.
아래 명령어를 작성한 환경은 Mac OS이며, Windows 환경에서는 다르게 나올 수 있다.
$ git config credential.helper
> osxkeychain
$ git config credential.helper sourcetree
$ git config credential.helper
> sourcetree
위의 명령어를 입력했더니, 정상적으로 작업이 완료되었다:)
내가 입력했던 git credential 기능에 대해 공부해보기로했다.
# Git Credential 저장소
프로젝트에 대한 데이터를 주고 받을 때 SSH 프로토콜을 사용하면 사용자 이름과 암호를 입력하지 않고 안전하게 데이터를 주고 받을 수 있다.
반면, HTTP 프로토콜을 사용하는 경우 매번 사용자 이름과 암호를 입력해야한다.
매번 입력하는게 귀찮으니, Git에서는 인증 정보를 저장해 자동으로 입력해주는 시스템을 제공하는데 그 기능이 Git Credential 기능이다.
Git Credential에서 제공하는 옵션은 다음과 같다!
- 기본 설정은 인증이 필요한 경우 매번 사용자 이름과 암호를 입력하게 한다.
- cache 모드로 설정하면 일정 시간(약 15분)동안 메모리에 사용자 이름과 암호와 같은 인증정보를 기억한다.
- store 모드로 설정하면 인증 정보를 디스크의 텍스트 파일로 저장하며 계속 유지한다. 여기서 유지한다는 말은 리모트의 인증 정보를 변경하지 않는 한 다시 인증 정보를 입력하지 않아도 접근할 수 있다는 것이다. store 모드에서 유의할 점은 인증 정보가 사용자 홈 디렉토리 아래에 일반 텍스트 파일로 저장되기 때문에 보안에 신경써야한다.
- Mac 환경에서는 osxkeychain 모드를 사용하면 Mac OS에서 제공하는데 키체인 시스템에 사용자 이름과 암호를 현재 로그인 계정에 속하게 저장한다.
- Windows 환경에서는 git Credential Manager for Windows라는 helper가 있다. osxkeychain helper와 비슷하게 동작한다.
Git Credential 기능은 쉽게 말해 사용자 정보를 저장해 관리해주고, HTTP 프로토콜에서 매번 인증 정보를 입력하지않도록 편리하게 해주는 기능으로 기억하면 될 것 같다:)
더 자세한 내용은 아래 git 홈페이지에서 공부해보자!
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Credential-%EC%A0%80%EC%9E%A5%EC%86%8C
'프로그래밍' 카테고리의 다른 글
[Android] Jetpack Compose를 사용해봤더니? (0) | 2022.08.25 |
---|---|
[Android] Jetpack Compose Bottom Navigation (0) | 2022.08.18 |
안드로이드 과외 첫 수업 리뷰 (0) | 2022.08.16 |
댓글
이 글 공유하기
다른 글
-
[Android] Jetpack Compose를 사용해봤더니?
[Android] Jetpack Compose를 사용해봤더니?
2022.08.25 -
[Android] Jetpack Compose Bottom Navigation
[Android] Jetpack Compose Bottom Navigation
2022.08.18 -
안드로이드 과외 첫 수업 리뷰
안드로이드 과외 첫 수업 리뷰
2022.08.16