저번 게시글을 통해 local repository까지만 다루어 보았다.
이번에는 더 나아가 Remot Repository까지 다루어 보겠다.
Remote Repository 등록
우선, 깃허브에서 테스트용으로 사용할 레포지토리를 하나 생성하였다.
개인적인 테스트용도로 사용하였기에 프라이빗으로 설정하였다.
해당 리포지토리를 등록
$ git remote add origin https://github.com/seomj/sample-repo.git
$ git branch -M main
$ git push -u origin main
git remote add 명령어에 의해 레포지토리를 인식하게 된다.
책에서는 바로 push를 진행했으나 그렇게 실습할 시 에러가 뜨게 되며, 깃허브에서 알려주는 대로 따라하면 잘 실행된다.
여기서 username을 입력하고 password를 입력하라고 한다.
처음에 어떠한 password를 쳐도 안 넘어가서 헤맸는데 검색해보니 토큰을 발급받아야 했다.
다음과 같은 에러를 마주할 수 있다.
알아보니 2021년 8월 13일부터 github 인증 시 password를 사용할 수 없다고 한다.
그리고 이를 해결하기 위해서는 github에서 token을 발급받아 인증을 해야한다고 한다.
Github token 발급
Github에 접속하여 Settings > Developer settings > Personal access tokens 에 접속
New personal access token (classic) 을 선택하면 다음과 같은 화면이 뜬다.
Note에는 아무말이나 입력해도 되며, 기간의 경우 각자 본인의 용도에 맞게 설정해주면 된다.
repo에 대한 권한이 필요하기 때문에 repo를 선택해주어 발급을 하면 끝
다시 push를 하여 password에 토큰 값을 넣어주면 정상적으로 연결이 이루어진다.
github에도 제대로 잘 적용이 된 것을 확인
Remote Repository를 Local Repository로 복제
실습의 경우 환경이 마땅치 않아 혼자 진행을 하고 있지만, 실제로 git은 협업으로 사용을 많이 한다.
즉, remote repository는 계속해서 변경이 될 것이고 해당 레포지토리를 local로 가져올 수 있어야 한다.
레포지토리 자체를 복제하기 위해서는 git clone을, 변경된 내용만 바꾸고 싶다면 git pull을 사용한다.
테스트를 위해 git에 올라간 README.md를 수정하였다.
(기존)Hello, git! > (변경)Hello, git!!!!!
이를 local로 가져오기 위해 git clone
$ git clone https://github.com/seomj/sample-repo.git
현재 sample-repo.git을 clone했으므로 폴더 안에 새로 생긴 것을 확인할 수 있으며,
해당 README.md를 확인해보면 변경이 된 것을 확인할 수 있다.
Remote Repository의 변경을 Local Repository에 통합
이번에는 변경된 부분만 통합할 수 있도록 한다.
$ git pull
기존 README.md에서는 느낌표가 하나만 존재했지만, github에 있는 README.md는 느낌표가 다섯개였으며
이를 pull하여 local의 README.md에서도 느낌표가 다섯개로 변경된 것을 확인
*git pull error
현재 git pull을 그냥 하려고 하면 pull 방식을 명시하라는 에러가 뜸
해당 링크를 참고하여 학습하고 해결함
해당 링크가 더 자세하게 설명이 되어 있으나 아직 전부 이해하지 못 했다.
<출처>
IT 운용 체제 변화를 위한 데브옵스(DevOps)
https://dewble.tistory.com/entry/fix-github-error-fatal-authentication-failed
'Study > Git' 카테고리의 다른 글
[Git] 하나의 컴퓨터에서 여러 계정의 Git 사용 & Private repository와 Jenkins 연동 (0) | 2023.10.21 |
---|---|
[Git]Branch 관리 및 병합 (0) | 2023.02.10 |
[Git]Git 기초(Local Repository) (0) | 2023.02.06 |
[Git]Git 기본(추가 작성 중) (0) | 2021.08.18 |