타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)/TIL

웹 풀사이클 데브코스 TIL 4일차 - 토큰, 레포지토리 받아오기, branch란?

슈크림 붕어빵 2023. 11. 20. 01:29

github토큰 생성하기

github와 연결할 때, id와 password를 입력해야한다. 이 중 password에 사용하는 것이 토큰이다. 

프로필->setting->developer setting->personal access tokens->tokens(classic)->generate new tokens(classic)

Expiration은 no expiration은 추천하시 않으셨다! 나는 원래는 저 토큰으로 사용하고 있는데..

 

repo, workflow , write:packages ,delete:packages ,delete_repo, project를 선택하고 만드셨다. 

선택사항은 언제든지 바꿀 수 있다.

 

 

만들어진 초록 박스 안 토큰! 이를 복사해서 password에 입력하면 된다. 

 

원격저장소 연결하기 

이전 포스팅에서 원격저장소에 올려봤다. 이번엔 원격저장소에서 받아와보자.

1. clone 해오기

두가지 방법이 존재한다.

CLI로 하는 경우에는 explorer에 상위 폴더가 뜨고 GUI로 하는 경우에는 상위 폴더가 뜨지 않는다. 하지만 둘 다 옳은 방법이다. 

- CLI

이제 다른 컴퓨터에서 파일을 받아올 때는 어떻게 하면 될까

git clone <레포지토리 url>

 

<code>버튼에서 제공하는 url을 입력하면 된다. 

- GUI

왼쪽 세번째 클릭->clone repository -> url 입력

2. git remote remove origin - 연결 끊기

 

연결 끊기

git remote remove origin

 

 

clone : GitHub repository에 있는 내용을 내 로컬(컴퓨터)에 ‘복제’하는 명령어. 즉, repository에 있는 파일을 내 로컬의 특정 디렉토리로 가져올 수 있다.

remote : Git 홈페이지에 보면 “Manage set of tracked repositories”라고 나와있다. 원격 저장소와의 작업들을 관리하는 명령이다. remote 명령어로 원격 저장소를 연결/확인/변경할 수 있다.

 

remote add와 clone의 차이

clone은 remote add를 한 다음 pull(또는 fetch & merge)까지 하는 것

 

3. pull push

- push

git push <repo별칭> <브랜치이름>

 

해당 브랜치로 변경사항을 저장한다. 

git push -u origin main을 앞서 해줬었다면 원격저장소 origin의 main브랜치와 연결 시켜놓았기 때문에  git push만 해도 된다. 

-pull

git pull <repo별칭> <브랜치이름>

 

마찬가지로 git pull -u origin main을 앞서 해줬었다면 원격저장소 origin의 main브랜치와 연결 시켜놓았기 때문에  git pull만 해도 된다. 

4. 브랜치란?

Git의 브랜치는 커밋 사이를 가볍게 이동할 수 있는 어떤 포인터 같은 것이다. 기본적으로 Git은 master 브랜치를 만든다. 처음 커밋하면 이 master 브랜치가 생성된 커밋을 가리킨다. 이후 커밋을 만들면 master 브랜치는 자동으로 가장 마지막 커밋을 가리킨다.

 

- 브랜치 목록 확인하기

$ git branch

 

head는 *가 찍혀있는 브랜치를 가리키고있다. 

- 브랜치 생성하기 

$ git branch <브랜치이름>

 

브랜치를 생성하더라도, 브랜치가 이동되지는 않는다. 이동까지 하고싶다면 아래 코드를 입력하자.

git checkout -b <새로운 브랜치>

왼쪽처럼 만들 브랜치를 입력 후, create하는 방법/ 왼쪽에서 view all branches를 클릭 후 우측의 New branch를 클릭해 생성하는 방법도 있다.

 

master 브랜치에서 98ca9->34ac2->f30ab순으로 commit

이전 글에서 이어서 작성해보면 master브랜치에서 브랜치를 생성했다 하자. 이 브랜치도 마지막 커밋을 가리키고 있다. 그래서 master 브랜치에서 새 브랜치를 만들면 같은 내용을 가지고 있는 것이다.

 

따라서 브랜치를 가상으로 복사해온다고 생각하면 된다. log로 커밋목록을 찍어보면 두 브랜치가 같은 것을 볼 수 있다.

 

- 브랜치 이동하기

$ git checkout <브랜치이름>

 

git에는 head라는 특수 포인터가 있다. 이 포인터는 지금 작업하는 로컬 브랜치를 가리킨다. 

checkout을 통해 브랜치를 이동했다면 head가 해당 브랜치를 가리킨다. 

 

 

여기서 commit을 한다면 다음과 같아지는 것이다. 원래의 commit이  부모 commit이 되어 저장된다.

이후, master브랜치에서 commit을 하면, master가 가리키고 있던 commit을 가리키는 commit이 생기기 때문에 다음과 같은 구조가 된다.

 

 

 

참고: 이전 브랜치로 이동: git checkout -

 

 

출처: 

데브코스 강의, 

https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

Git - 브랜치란 무엇인가

3.1 Git 브랜치 - 브랜치란 무엇인가 모든 버전 관리 시스템은 브랜치를 지원한다. 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고 나서 원래 코드와

git-scm.com