Study/Git

[Git]Git 기초(Remote Repository)(feat. github token)

seomj 2023. 2. 10. 14:03

저번 게시글을 통해 local repository까지만 다루어 보았다.

 

[Git]Git 기초(Local Repository)

https://seomj74.tistory.com/189 [Git]Git 기본(추가 작성 중) 참고하기 좋은 문서 https://git-scm.com/book/en/v2 Git 설정 git config --global -e - gitconfig 파일을 에디터로 오픈 git config --global core.editor "code --wait" - gitconf

seomj74.tistory.com


이번에는 더 나아가 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 방식을 명시하라는 에러가 뜸

해당 링크를 참고하여 학습하고 해결함

 

git pull 시 발생하는 warning 해결하기(Need to specify how to reconcile divergent branches)

각 옵션의 의미를 알아보고, 설정까지 해보자.

velog.io

해당 링크가 더 자세하게 설명이 되어 있으나 아직 전부 이해하지 못 했다.

 

fatal: Need to specify how to reconcile divergent branches. 원인과 해결 / Fast-Forward, rebase, merge 이해하기

git pull을 어떻게 할지 전략이 세가지가 있으니 선택해서 명시해달라는 내용이다. 타 블로그 왈 git 2.27부터 추가된 기능이라고 한다. 기존 git pull의 문제점 : 세 가지 전략으로 나뉘게 된 배경 git p

eocoding.tistory.com

 

 

 

<출처>

IT 운용 체제 변화를 위한 데브옵스(DevOps)

https://dewble.tistory.com/entry/fix-github-error-fatal-authentication-failed