Git Bash로 새 계정 레포지토리 관리

xii·2023년 1월 2일
0

팁Tips

목록 보기
1/1
post-thumbnail

부계정의 사용

원래 사용하던 계정 대신 새 계정을 쓰려니 바꿀 설정이 이만저만이 아니다.
깃크라켄으로 새 계정을 관리하려 했더니 PRO가 아니라 계정을 바꿀 수도 없다.
남은 답 중에 가장 나아보이는 것은 Git 명령어이므로 사용법을 공부하기로 했다.


기본 환경

운영체제는 Windows 기반이다.
Visual Studio Code를 사용하고, 터미널은 Git Bash 기준으로 작성한다.


계정 확인하기

우선 터미널을 열어준다. 단축기 Ctrl + ` 을 사용하면 곧바로 열린다.

그리고 다음의 명령어를 입력해준다.

git config --global user.email

그러면 현재 계정의 이메일이 나온다.
바꿀 계정의 이메일로 바꿀 차례다.


계정 변경하기

터미널에 다음 명령어를 입력한다.
new@email.com 부분은 보는 사람의 이메일을 입력해주도록 하자.

git config --global user.email new@email.com

위의 계정 확인하기에서 배운 방법으로 이메일이 잘 바뀌었는지 확인해보고 다음 단계로 넘어간다.


SSH Key 발급받기

1. SSH key란

SSH Key가 생소한 사람이 많을 것이라 생각한다.
이 사이트에서는 SSH 키에 대하여 다음과 같이 설명한다.

  • Secure Shell 의 약자
  • 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜 중 하나
  • 컴퓨터와 다른 컴퓨터가 공공 네트워크를 통해 로그인하거나 원격시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용프로그램, 프로토콜
  • 암호화 기법을 사용하여 보안에 좋으며, 기본적으로는 22번 포트를 사용

SSH key는 공개키(public key), 비공개키(private key)로 이루어지며, 키를 생성하면 공개키와 비공개 키가 만들어 진다. 비공개키는 로컬에 위치하고, 공개키는 원격지에 위치한다. SSH 접속을 시도하면 로컬의 비공개키와 원격 서버의 비공개키를 비교해서 일치하는지 인증과정을 거치고 접속을 할 수 있게 해준다.
public key : 공개되어도 안전한 키, 복호화 불가
private key : 외부 노출 되면 안되는 키, 로컬 컴퓨터 내부에 저장, 암호화 정보 복호화

한 마디로 정리하면 원격 접속에 사용하는 보안 좋은 비밀번호이다.
원격지에 위치한 공개키와 로컬에 위치하는 비공개키의 비교로 일치 여부를 검사하여 인증 이후 접속할 수 있게 해준다.

2. SSH key 발급받기

이제 SSH Key의 개념을 알았으니 발급을 받도록 하자.

터미널에 다음 명령어를 입력해준다.
"yourEmail@email.com" 부분은 큰따옴표를 포함하여 자신의 새 계정 이메일로 바꿔주도록 하자.

ssh-keygen -t rsa -b 4096 -C "yourEmail@email.com"

응답 로그가 다음과 같이 찍힌다.

Generating public/private rsa key pair.
Enter file in which to save the key (/file/dir/.ssh/id_rsa):

(/file/dir/.ssh/id_rsa)는 로컬에 저장되는 비공개키의 파일 주소이다.
Enter 키를 입력하면 /file/dir/.ssh/id_rsa에 그대로 저장되며, 새로 주소를 입력할 경우 그 주소에 입력된다.

Enter 키를 누른 뒤로는 두 갈래로 응답 로그가 나뉠 것이다.

이미 SSH Key를 발급받은 적이 있는 경우

이 경우에는 터미널에 로그가 다음과 같이 찍힌다.

/file/dir/.ssh/id_rsa already exists.
Overwrite (y/n)?

덮어쓰고 싶은 경우 y, 아닌 경우 n을 입력한다.
필자는 y를 입력하여 진행하였다.
이후 SSH Key를 처음 발급받는 경우로 진행한다.

처음 SSH Key를 발급받는 경우

터미널에 다음 로그가 찍힐 것이다.

Enter passphrase (empty for no passphrase):

비밀번호를 입력하라는 문구가 뜬다.
그냥 Enter 키를 누를 경우에는 비밀번호 없이 지나간다.

Enter same passphrase again:

비밀번호를 한 번 더 입력한다.
전 단계에서 비밀번호 없이 그냥 Enter를 눌렀을 경우 이번에도 그냥 Enter를 눌러주면 된다.

이후 쭉 본인의 암호와 저장경로가 뜨니 굳이 설명하지 않는다.
저장경로는 따로 복사해놓거나 기억해놓아야 한다.


vi 에디터로 키 확인

이제 SSH Key를 발급받았으니 연결할 차례이다.
터미널에 다음 명령을 쳐 vi 에디터로 SSH Key를 확인하고 복사한다.

전 단계에서 적어놓은 저장경로를 /file/dir 자리에 집어넣어야 한다.

vi /file/dir/.ssh/id_rsa.pub

본인의 SSH Key를 복사해놓는다.
vi 에디터를 종료할 때는 :wq를 입력해준다.

이제 Github로 이동할 차례다.


GitHub SSH Key 새로 등록하기

GitHub에서 우상단 프로필 - Settings - SSH and GPG keys에 들어간다.
SSH and GPG keys는 두 번째 단락인 Access 카테고리에 있다.

이동했으면 화면에 보이는 초록색 버튼 'New SSH keys'를 클릭한다.
title은 상관 없고, 아까 복사한 SSH Key를 Key 부분에 붙여넣어준다.
key type은 지정하지 않았다.

올바르게 입력했다면 정상적으로 Add SSH Key가 작동할 것이다.


테스트 겸 커밋

이제 잘 작동하는지 확인하기 위해 Visual Studio Code에서 Git Bash를 이용해 커밋을 해본다.

git add .
git commit -m "test"
git push
git pull

레포지토리에 가서 정상적으로 커밋되었는지 확인하면 완료!

git push 명령어

git push 명령어는 기본적으로 다음의 형태를 가진다 :

git push origin main

여기서 첫 번째 인자인 origin은 저장소명, main은 브랜치명을 말한다.

git clone을 통해 생성할 경우 원격 저장소명은 보통 origin이다.
혹시 원격 저장소명을 모른다면 git remote 명령어를 통해 알아낼 수 있다.

-u로 인자 생략하기

원격저장소명 앞에 -u를 붙인다면 이후 뒤의 인자 없이 git push 명령어만으로 push를 날릴 수 있다.

git push -u origin main

현재 상태에 고정하기

다음 명령어를 사용하면 어느 브랜치에서 작업해도 현재 상태를 기준으로 git push를 날릴 수 있다.

git config --global push.default current
profile
내가 그다지 사랑하던 그대여 내 한평생에 차마 그대를 잊을 수 없소이다 내 차례에 못 올 사랑인 줄은 알면서도 나혼자는 꾸준히 생각하리라 자 그러면 내내 어여쁘소서 - 이상, <이런 시>

0개의 댓글