git을 설치한 바로 직후라 가정하고 진행해요.
계정을 하나만 썼을 때는 global 설정으로 username과 email을 설정했는데, 관리해야 할 계정이 추가되니 매번 바꿔 줘야하는 불편함이 있었어요.
여러 블로그를 참고했는데, SSH로 설정하는 방법이 많더라구요. 근데 “원래도 안썼는데 굳이 써야할까?” 라는 의문점이 있었어요.
결론적으로 gitconfig 설정
과 GitHub과 GitLab에서 제공하는 Access Tokens
으로도 충분히 설정 가능하다는 것을 알고 포스팅을 작성하게 됐어요 :)
GitConfig 설정
먼저 Git 설정을 할게요! iterm이나, 터미널을 열어 실행해주세요.
vim ~/.gitconfig
위의 파일에서, global 설정을 한다고 생각하면 될듯해요 :) 명령어로도 가능하지만, vim을 사용해서 설정해봐요.
파일 수정
[user]
email = "깃허브 이메일"
name = "깃허브 사용자이름"
[includeIf "gitdir: "깃랩 계정으로 접근할 디렉터리""]
path = "설정파일 위치"
[core]
eol = lf // OS 별로 CRLF 처리 차이로 인한 문제의
autocrlf = input // 해결을 위한 설정
파일 수정 예시
[user]
email = asdsd@naver.com
name = livenow14
[includeIf "gitdir:/Users/livenow14/Desktop/woowa/"]
path = .gitconfig-woowa
[core]
eol = lf
autocrlf = input
개인(Github) 계정을 global로 설정했어요 (실수로 회사 계정으로 push 해버리는 불상사 방지)includeIf
는 git 과 관련된 명령어를 실행할 때, gitdir의 하위 repository라면 path에 있는 설정파일을 포함하는 옵션이에요. path는 식별가능하게 작성 해주시면 돼요.
여기서 중요하게 체크 해야할게, woowa폴더내의 그냥 폴더에서는 설정이 적용이 안되고 ,git이 포함된 곳에만 적용이 된다는 점이에요
ex) /woowa/work/repo1, /woowa/work/repo2가 있을 때, /woowa, /woowa/work 폴더에는 적용이 안되고, repo1, repo2 폴더에만 적용이 된다.
저는 회사에서 사용할 레포지토리들을 바탕화면(Desktop)
의 woowa 폴더에서 관리하고 싶어서 gitdir 위와 같이 설정했어요.
깃의 설정파일 우선순위가 Local(직접 설정한 것) > Global
인 것을 참고하면 좋을 것 같아요.
이제 회사(GitLab) 계정 또한 설정해주죠.
.gitconfig-woowa 파일 수정
vim ~/.gitconfig-woowa
[user]
email = "깃랩 이메일"
name = "깃랩 사용자이름"
.gitconfig-woowa 파일 수정 예시
[user]
email = livenow@woowa.com
name = 검프
깃허브와 마찬가지로 이메일과 GitLab의 사용자이름을 설정해주면 돼요!
Access Token 발급
이제 Access Token을 발급 받아보죠!
GitHub Access Token 발급
먼저 메인 화면에서 맨 오른쪽 위 사진을 클릭하고 Settings
에 들어가요
그다음 Developer settings
를 클릭해요
그 뒤, Personal access tokens
을 클릭해요
Generate new token
으로 token 생성페이지로 가요
token생성 페이지
에서, 필요한 권한을 주고 이름을 설정해요 (저는 업무 노트북에서 사용할 것이기 때문에 repository삭제 권한 빼고 다 설정했어요.)
Generate token을 클릭하면 token이 생성돼요. 여기서 나오는 token값은 페이지를 벗어나면 발급할 수 없으니, 따로 어딘가 저장해놓아요. 잊어버리면 무조건 재발급 해야해요.
% 토큰값 저장 필수 %
이후 예시에는 발급받은 깃허브 token
이라 말할게요
GitLab Access Token 발급
Github랑 마찬가지로 Edit profile를 클릭해요
Github랑 마찬가지로 토큰이름
이랑 Expiration date
, 필요한 권한
을 설정해요.
Expiration date는 따로 설정하지 않으면 영구적으로 사용할 수 있게 설정해요.
여기서 나오는 token값은 Github와 마찬가지로 페이지를 벗어나면 발급할 수 없으니, 따로 어딘가 저장해놓아요.
이후 예시에는 발급받은 깃랩 token
이라 말할게요
% 토큰값 저장 필수 %
위의 토큰값들은 사진찍고 바로 삭제했어요 ㅎㅎ
자 이제 발급받은 Access Token들을 mac에 저장해줘야해요.
저장된 Access Token들은 비밀번호의 역할을 할거에요.
Mac에 Credential 등록
credential-osxkeychain 확인
credential-osxkeychain이 존재하는지 확인해요.
git credential-osxkeychain
있으면 아래와 같은 결과가 떠요.
git credential-osxkeychain
Usage: git credential-osxkeychain <get|store|erase>
없으면 아래와 같은 결과가 떠요.
git credential-osxkeychain
xcode-select: note: no developer tools were found at '/Applications/Xcode.app',
requesting install. Choose an option in the dialog to download the command line developer tools.
없을 경우, git을 다시 설치해주세요.
keychain 등록
이제, global 설정으로 keychain을 설정할 것을 예약해둬요.
git config --global credential.helper osxkeychain
자 이제 설정이 끝났어요!
helper가 잘 등록됐나 보려면
vim ~/.gitconfig
를 실행해보면 돼요 ㅎㅎ
[user]
email = asdsd@naver.com
name = livenow14
[includeIf "gitdir:/Users/livenow14/Desktop/woowa/"]
path = .gitconfig-woowa
[core]
eol = lf
autocrlf = input
[credential] //추가됨!
helper = osxkeychain //추가됨!
앞서 직접 설정했던 것 뒤에 추가로 설정된것이 보이시죠?! 이렇게까지 확인해봤다면 설정 완료!
이제 git 작업시 딱 1번 닉네임과 토큰값을 입력 해주면, 이후 mac의 키체인에 자동적으로 저장될거에요.
직접해보기
woowa 폴더내의 레포지토리
앞서 woowa폴더에 Gitlab을 사용하도록 설정했어요.
작업을 할 woowa폴더 내의 레포지토리에 들어가서
git config user.name
과
git config user.email
를 실행해보면 설정한 값이 잘 들어가는것을 알 수 있어요
실제로 커밋이 어떻게 찍히는지 보고싶다면 아래와 같이 간단하게 커밋을 날려봐도 돼요!
touch test.txt
git add .
git commit -m "test"
git push origin main
첫 push를 할 때 username과 password를 입력하라 할거에요.
여기는 회사용으로 사용할 거니, 깃랩의 name과 토큰값(발급받은 깃랩 token
)을 입력하면 돼요 (아까 저장한 토큰값 안까먹으셨죠?!)
woowa 폴더에 포함되지 않는 레포지토리
woowa폴더 안이 아닌 레포지토리는 일반적인 전역설정이 들어가겠죠?
예시에선 study 폴더내의 레포에 접근했어요.
처음에 설정한 값이 잘들어있네요!
첫커밋을 찍을때 깃허브의 name과 토큰값(발급받은 깃허브 token
)을 입력해야겠죠?! ㅎㅎㅎ
댓글