김데이의 개발공부

[TIL] Day 13 - GitHub 기초, 원격저장소(Remote Repository), 협업 PR, alias(단축어) 사용법 본문

코드잇 Node.js(BE) 부트 캠프/TIL (Today I Learn) 📑

[TIL] Day 13 - GitHub 기초, 원격저장소(Remote Repository), 협업 PR, alias(단축어) 사용법

theday365 2025. 10. 14. 18:22
반응형

🗓️ 수업 일자 : 2025.10.14

✨ 오늘의 수업 평가 :  [ REVIEW ]  익숙했지만 놓쳤던 포인트 발견 👀✨

 

📝  오늘 배운 내용  
- Git 사용하기 [기초]

- Remote Repository (원격 저장소)

- Git 협업하기

(개인 추가 학습) Git Tip - alias 사용하기

 


1. Git 사용하기 [기초]

- Branch(브랜치) : "(나뭇)가지"라는 뜻처럼 커밋을 여러 갈래로 진행 시키는 기능. 하나의 개발을 여러 방향으로 나누거나 여러 작업자가 각자의 개발작업을 한 뒤 필요한 부분을 합치는 등의 기능을 할 수 있음
- HEAD와 Branch : HEAD는 현재 사용자가 있는 위치(브랜치)를 나타냄, 기본은 "master"이며 신규 브랜치를 만들어 이동하면 해당 브랜치를 가리키고 있음 

GIT Branch 만들고 이동하기
GIT Branch 만들고 이동하기

 

신규 생성 브랜치 [main]에 저장 테스트 진행
신규 생성 브랜치 [main]에 저장 테스트 진행

 

 

브랜치 관련 명령어

  • 브랜치 생성 후 해당 브랜치로 이동 : git switch -c 신규브랜치명
  • 현재 가지고 있는 브랜치 확인하기 : git branch
  • 만들어진 브랜치 이동 :  git switch 저장된브랜치명
  • 생성한 브랜치 합치기 : git merge 합칠브랜치명

master 브랜치에 [main] / [subLine] 브랜치를 합친 후 결과
master 브랜치에 [main] / [subLine] 브랜치를 합친 후 결과

 

merge 와 rebase

 - git merge : 여러 브랜치를 "병합"하는 방식, 갈라져 나온 히스토리를 각각 보존하면서 최종 지점에서 하나로 합쳐지는 방식 

 - git rebase : 여러 브랜치를 하나의 라인으로 "선형화"하는 방식, 각각의 브런치 히스토리가 복사 되어 하나의 라인으로 합쳐지는 방식

 

merge 구동방식 확인하기
merge 구동방식 확인하기
rebase 구동 방식 확인하기
rebase 구동 방식 확인하기

 

작업 도중 동일한 영역에 다른 내용이 들어가 있어 충돌이 일어나는 경우가 생기는데, 해당 영역을 아래와 같이 표기 해 주고 사용자가 필요한 부분만 남기고 나머지는 삭제하여 재저장 하고 사용하면 된다. 

merge 충돌 표기
merge 충돌 표기

 

 

 

2. Romote Repository (원격 저장소)

 Remote Repository 만들기 

- 로컬 저장소, Local Repository : 개발자 본인 컴퓨터에 만들어 둔 저장소를 의미

- 원격 저장소, Remote Repository : 온라인으로 운영하는 저장소를 의미, 동일한 레포지토리를 여러 컴퓨터에서 사용 가능.

- Github : 원격 저장소가 있는 서비스 사이트, https://github.com/

  GitHub Repository : 회원가입 후 [ Repositories ] 메뉴로 접속하여 [ New ] 버튼 클릭하여 새로운 레포지토리 생성

[ Repositories ] 메뉴에서 [new] 버튼 위치

 

New Repository 만드는 페이지

  1. General
    - Repository name : 원격 저장소 이름 
    - Description : 원격 저장소의 간단 설명
  2. Configuration
    - Choose Visibility : 원격 저장소의 개방 여부, Public이 전체 공개(오픈소스) Private는 비밀 저장
    - Add README : 원격 저장소 설명서 개념인 README.md 파일을 만들건지 확인
    - Add .gitignore : 저장소에 업로드 하는 파일 중 제외시킬 파일/폴더 목록을 작성하는 .gitignore 파일을 만들건지 확인
    -Add license :  

 

 

 Token 만들기 

- User Setting > Developer Settings > Personal Access Tokens ( = PAT) > Tokens(classic) > Generate new token
: 로컬 저장소와 원격 저장소가 서로를 확인하기 위해 사용하는 식별자, 일종의 고유 넘버 / 패스워드 

Tokens 만들기 위한 페이지 위치 및 화면
Tokens 만들기 위한 페이지 위치 및 화면

  1. Note : 토큰의 이름 
  2. Expiration : 토큰의 유효 기간
  3. Select scopes : 토큰의 활용 범위 

 

 로컬 저장소와 원격 저장소 연결하기 / Push & Pull 

  • 로컬 저장소에 원격 저장소 추가하기 : git remote add origin 사용자URL 

Git remote (로컬 - 원격 저장소 연결하기)
Git remote (로컬 - 원격 저장소 연결하기)

 

  • Push : 로컬 저장소에 있는 내용을 원격 저장소에 저장하는 방식
    -1 로컬 저장소에 있는 자료가 저장(staging, commit)되어 있다면 바로 Push 가능
         : git push -u origin 현재브런치명 입력하면 ID, PW 입력 라인이 순서대로 나옴 
           PW는 위에서 만든 Token을 넣으면 됨
    -2 로컬 저장소가 아직 없는 곳에 원격 저장소를 연결 한 경우 저장 환경을 만들고 Push 하기 
        : 저장소 만들고 git init , 전체 폴더&파일을 staging 하고 git add . , 작업 내용 커밋(저장) git commit -m "커밋내용"
          위 작업을 마친 후 git push -u origin 현재브런치명 입력하여 ID,PW 작성하여 Push 진행

git 원격 저장소로 로컬 저장소의 내용 업로드 하기
git 원격 저장소로 로컬 저장소의 내용 업로드 하기

 

  • Pull : 로컬 저장소에 없는 내용을 원격 저장소에서 받아와 바로 merge함
    - 로컬 저장소의 터미널에서 명령어 입력 : git pull 

 

Git 원격 저장소에만 있던 README 파일을 pull로 받아옴
Git 원격 저장소에만 있던 README 파일을 pull로 받아옴

 

 

 Git Clone (원격 저장소 → 로컬 저장소) 작업하기 

: 최초에 원격 저장소의 내용 전체를 가져와 로컬 저장소에 저장하는 작업 

  1. 신규 저장소를 만들고 mkdir gitClone , 해당 폴더로 이동 cd gitClone/
  2. 해당 저장소에 Clone 주소를 이용해 원격저장소의 자료 다운로드 : git clone 원격저장소CloneURL 

Git Clone 작업 내용 확인하기
Git Clone 작업 내용 확인하기

 

 

 

3. Git 협업하기

 PR(Pull Request) 

- 동료 개발자에게 PR을 날리면, 동료 개발자는 내 개발 코드(자료)를 보고 검토(review,comment)를 한 뒤 문제가 없는 경우 자신의 저장소에 병합 허가를 하는 것 


- 검토자의 최종 검토 옵션 

    1. Comment : 전체 영역에 대한 댓글을 남김. 

    2. Approve : 현재 상태 그대로 pull 하는 것을 허락함.  

    3. Request Change : 일부 코드에 대한 수정을 요청함.

 

- merge(머지) 방식

1. create a merge commit : 모든 커밋 이력을 남기는 커밋 방식, merge 작업 후에도 커밋의 히스토리를 확인 할 수 있음.

2. Squash and merge : 작업한 모든 커밋이 1개의 커밋으로 합쳐져 merge됨. 불필요하게 많은 커밋이 있는 경우 사용하기 좋음.

3. Rebase and merge : 보통 개인이 혼자 작업할 때 선형화 하여 머지하는 방법

 

 Fork 

- github 내에서 다른 계정의 repo를 복사해서 내 계정의 새로운 repo로 만드는 것 

- 다른 계정의 원본 repo : upstream 
  내 계정으로 fork된 repo : origin 

 

 Branch 관리 

- main Branch : 항상 배포 가능한 상태로 유지하는 중심 소스 코드 브랜치

- feature Branch : 브랜치를 갈라져 나올 때는 main에서 나오며, 새로운 기능을 만드는 브랜치로 사용. 
                             팀원마다 각자 1개의 feature 브랜치를 가지고 작업을 진행하고 해당 브랜치로
팀원끼리 PR 진행 

 

 

 

(개인 추가) Git Tip - alias 사용하기

alias란? 
"가명"이라는 뜻 답게 Git 명령어를 단축어로 저장하여 사용하는 기능이며, 놀랍게도 Git 공식 문서에서도 해당 기능에 대한 설명과 함께 자주 쓰는 명령어를 추천해 주고 있습니다😉

 

GIT 공식 문서 : https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-Alias

 

Git - Git Alias

이것으로 쉽게 새로운 명령을 만들 수 있다. 그리고 Git의 명령어뿐만 아니라 외부 명령어도 실행할 수 있다. ! 를 제일 앞에 추가하면 외부 명령을 실행한다. 커스텀 스크립트를 만들어서 사용할

git-scm.com

 

alias 사용법

- 명령어 등록하기 : git config --global alias.단축어 명령어 
 예시) git config --global alias.st status
                  → git 상태를 확인할 수 있는 "status" 명령어를 "st"라는 단축어로 설정 
          git config --global alias.tree "log --graph --all --decorate"
                → git log를 볼 때 그래픽화 한 데이터로 보기 위하여 "tree" 단축어로 설정 

git alias 단축어 등록 방법
git alias 단축어 등록 방법

 

 

 


 

📃 내일은 뭘 배울까 🤔

- Git 기초 복습 

- Git 협업하기 심화

반응형