Post

[Day23] Git

[Day23] Git

버전관리

버전 관리란? 내가 원하는 시점(버전)으로 이동할 수 있게 해주는 것이다.

CLI, GUI

CLI (Command Line Interface)

  • 터미널로 입출력만을 이용해서 컴퓨터와 소통한다.
  • 키보드와 명령어로 사용 가능하다.
  • (ex) window의 cmd, 맥과 리눅스의 terminal

GUI (Graphical User Interface)

  • 사용자가 눈에 보이는 아이콘을 이용해서 컴퓨터를 조작한다.
  • 우리가 흔히 사용하는 바탕화면 폴더 아이콘을 더블클릭하고, 마우스를 이용해서 폴더를 생성하는 모든것이 해당한다.

SourceTree 소스트리

소스트리는 Git을 GUI 환경에서 편리하게 사용할 수 있는 도구로, 브랜치 및 커밋 이력을 쉽게 시각화할 수 있다.

Git과 Github

Git : 소스 코드 버전 관리 시스템 Github : Git 호스팅 사이트 중 하나

원격 저장소에 커밋 올리기

  1. 변경 사항 확인
    1
    
    git status
    
  2. 변경된 파일을 스테이징
    1
    2
    
    git add . # 모든 변경된 파일 추가
    git add <파일명> # 특정 파일만 추가
    
  3. 커밋 생성
    1
    
    git commit -m "커밋 메시지"
    
  4. 원격 저장소로 푸시
    1
    
    git push origin main # main 브랜치로 푸시
    

git merge (브랜치 병합)

Git에서 여러 브랜치를 하나로 합치는 과정

1
2
3
git checkout main  # main 브랜치로 이동
git merge feature/comment  # feature/comment 브랜치를 main에 병합
git push origin main  # 병합된 내용을 원격 저장소로 푸시

그 외 명령어 정리

🔹 원격 저장소 연결

1
git remote add origin https://github.com/username/repository.git

🔹 branch를 master가 아닌 main으로 default값으로 설정하기

1
$ git config --global init.defaultBranch main

🔹 브랜치 관련 명령어

1
2
3
4
git branch # 브랜치 목록 확인
git branch feature/comment   # 새 브랜치 생성
git checkout feature/comment # 해당 브랜치로 이동
git branch -d feature-branch # 브랜치 삭제

🔹 git log (커밋 이력 확인)

Git에서 커밋 로그를 확인하는 명령어로 커밋 내역을 한 줄로 간략히 표시하며, 브랜치 구조를 그래프로 시각화하여 보여준다.

1
git log --oneline --branches --graph


Pull Request (PR) -> 예의있는 협업하는 방법 !

Pull Request는 협업 개발에서 필수적인 기능으로, 특정 브랜치에서 작업한 내용을 main 또는 다른 브랜치로 병합할 때 사용하는 요청이다.

Pull Request 과정

  1. 새로운 브랜치 생성 및 이동
    1
    
    git checkout -b feature-branch
    
  2. 코드 변경 후 커밋
    1
    2
    
    git add .
    git commit -m "새로운 기능 추가"
    
  3. 원격 저장소에 푸시
    1
    
    git push origin feature-branch
    
  4. GitHub에서 Pull Request 생성
    • GitHub에서 저장소로 이동
    • New Pull Request 버튼 클릭
    • base 브랜치(main)와 compare 브랜치(feature-branch) 선택
    • PR 제목 및 설명 작성 후 Create Pull Request 버튼 클릭

PR을 통해 코드 리뷰를 진행하고, 문제가 없으면 merge를 수행하여 변경 사항을 반영한다.


END

This post is licensed under CC BY 4.0 by the author.