Git 사용법 정리 01 - 코딩애플 온라인 강좌를 바탕으로

Table of Contents

Git?

Git은 프로그래밍 공부를 하다보면 한 번쯤 들어볼 수 있는 이름이다. 내 블로그를 만들 때도 Git과 Github를 활용했지만 사실 어떻게 쓰는지 잘 모른다. 이번 기회에 코딩애플 무료 강의를 공부하며 배운 내용을 정리해보고자 한다.


Git은 무엇인가? 왜 공부해야하는가?

  • Git은 버전 관리 소프트웨어다. 코딩 중 파일 변경 이력을 효율적으로 기록하고 관리하기위한 도구이다.
  • Git을 배워두면 좋은 이유들은 다음과 같다.
    • 코드 버전 관리 및 시간 되돌리기 능력: 코딩 중 과거 특정 시점으로 코드를 되돌리는게 가능하다. 이는 개발 과정에서 발생할 수 있는 오류나 원치 않는 변경사항으로부터 코드를 보호하고 안정적인 상태로 복원할 수 있게 해주는 핵심 기능이다.
    • 팀 협업의 필수 도구: 소프트웨어 개발에서 팀원들과 코드 충돌없이 효율적으로 협업하기 좋은 도구다. 특히 브랜치 기반으로 협업하는 방법을 익히면 불필요한 코드 충돌이나 변경 없이 다른 사람들의 코드를 가져와 협업할 수 있다.
  • 이러한 이유들로 인해 Git을 사용할 수 있다면 개인 프로젝트의 효율적인 관리부터 팀 협업, 넓게는 소프트웨어 개발자로서의 취업 및 팀 관리와 리더십 역량 강화등에도 도움이 될 수 있다.
  • 그렇기 때문에 내 전문 분야는 아니지만 적어도 알아두면 도움이 될 것 같아서 Git을 공부한다.

Git 설치?

  • 윈도우에서는 Git windows를 검색해서 다운로드 받은 후 설치하면 된다.
  • 맥북에서는 설치하는 방법이 조금 다르다.

맥북에서 Git 설치하기

  • Homebrew 설치하기
  • 터미널에서
    • brew install git
    • git config --global init.defaultBranch main
  • 다 끝난 다음에 git 유저 이름 세팅은
    • git config --global user.email "email@email.com"
    • git config --global user.name "user name"

기본적인 Git 명령어와 사용 방법

  • 작업 폴더에서 Git을 이용하고 싶으면 해당 경로에서 터미널을 열어서 git init
  • Git에 버전을 새로 만들 땐 git add, git commit 순서대로
    • git add filename
      • 작업 폴더의 작업물을 staging area로 옮김
    • git commit -m 'message'
      • staging area에 옮겨진 파일을 repository에 저장
    • 아래 그림은 개념을 도식화 해놓은 것 1749889170136
  • 다른 Git 명령어들로는
    • 여러 파일을 동시에 스테이징할 땐 git add filename1 filename2
    • 작업 폴더의 모든 파일을 스테이징할 땐 git add .
    • 변경된 파일이나 스테이징된 파일을 확인할 땐 git status
    • 스테이징된 파일을 취소하고 싶을 땐 git restore --staged filename
    • commit 기록을 한 눈에 파악하고 싶을 땐 git log --all --oneline
  • VSCode에서 기본적으로 Git을 지원하고 있어서 명령어 몰라도 클릭 몇 번으로 동일한 작업을 할 수 있다. 파일이 많을 땐 이 방법이 더 나을듯.
  • 이전 코드와 현재 코드의 차이점을 확인하는 명령어도 있지만 에디터 부가기능을 사용하면 시각적으로 훨씬 정돈된 결과물을 볼 수 있다. 예를 들면 Git lensGit Graph같은 VSCode Extensions를 사용할 수 있다.

Branch?

커밋하면서 코딩을 계속 하다보면 새로운 기능을 추가해야하는 경우가 생기기도 한다. 그럴땐 원본 파일에 코드를 새로 추가하고 커밋해도 되지만 혹시 모를 문제 때문에 프로그램이 망가질 위험이 있으니 안전한 방법은 아니다. 안전하게 새로운 기능을 추가하기 위해서 프로젝트의 복사본을 만들고 거기에 먼저 기능을 추가해볼 수 있다. 브랜치는 이런 경우에 사용하기 위해 있는 기능이다.

계속 커밋하며 짜온 코드에

1749889417356

브랜치를 생성해서 복사본을 만든다

1749889427211

main 브랜치에 coupon 브랜치를 만들었을 때

1749889665604

만든 브랜치를 원본과 merge했을 때

1749889749195

Branch 관련 명령어들

  • 프로젝트 사본을 만들 땐 git branch branchname
  • 브랜치를 이동하고 싶을 땐 git switch branchname
  • branchcommit 내역을 한 눈에 그래프로 보고싶으면 git log --graph --oneline --all
    • git log하면 나오는 HEAD는 내 현재 위치
  • main 브랜치에 합쳐주려면
    • git switch main
    • git merge branchname
  • 브랜치를 합칠 때 CONFLICT가 발생할 경우엔
    • 파일을 열어서 수정
    • git add하고 git commit하기



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • macOS 다시 설치하고 설정하기 01
  • MAC에서 Manim 설치하기
  • pytube 에러 수정기: 'title', 'thumbnail_url', 'length' 기능 활성화하기
  • 2020년 온라인 KIPRIS 활용 세미나 요약 노트 (2): 스타트업의 특허 A-Z
  • Python 코드 짜깁기: Google News 검색 결과 스크랩해서 저장하기