[프로그래머스 인공지능 스쿨]Git

1 minute read

Git이란 무엇인가?

Git이 무엇일까요?

  • 분산 버전관리 시스템!

깃의 구조

레포지토리 단위로 이루어져 있다.
Alt Text
중앙에 원격 저장소를 두고(서버) 이를 바탕으로 로컬 저장소를 여러개 둔다. 실제로 우리가 작업하는 공간은 로컬 저장소이고, 여기서 서버에 내용을 푸시/풀하여 협업할 수 있다.
로컬에서 작동하는 레포지토리를 깃으로 관리하고, 원격으로 작동되는 서버의 레포지토리는 깃허브가 관리한다.

Git 시작하기

Git 설치하기

https://git-scm.com/book/ko/v2/시작하기-Git-설치
리눅스나 맥의 경우에는 CLI로 설치 가능!
이 외에는 링크에서의 설명대로 설치해주면 된다.

로컬 저장소 생성

다음 명령을 통해 현재 작업중인 디렉토리를 git 저장소로 지정할 수 있다.

git init

Git 저장소에서 파일의 상태

  • LOCAL에서 REMOTE(Repository)로
    1. git add . : Working Directory -> Staging Area
    2. git commit : Staging Area -> Local Repository
    3. git push : Local Repository -> Remote Repository
  • REMOTE(Repository)에서 LOCAL로
    1. git pull : Remote Repository -> Repository
    2. git reset : Staging Area -> Working Directory

Git 로컬 저장소에 Commit 남기기

  1. git status를 통해 현재 git 저장소의 상태 확인
    git status
    
  2. git add <추가할 파일="">을 통해서 커밋에 반영할 파일 지정
    git add example.py
    

    모든 변경사항을 커밋에 반영하고 싶으면

    git add .
    
  3. 변경사항이 반영된 New Commit 생성
    git commit -m "add example.py"
    
  4. git log를 통해 commit을 확인
    git log
    

    Commit 기록 확인하기(Author, Commitor, Date, …)


Git의 Branch

Git에서 Branch는 어떤 개념일까?

  • 코드의 흐름을 분산해서 가지치기 하는 것!
  • 이슈를 따로 가지치기해서(동일한 코드를 복제하는 개념) 독립적인 환경에서 코드를 수정할 수 있게 한다. 동시에 메인 코드는 따로 개발될 수 있고 가지치기했던 내용을 메인 코드에 다시 병합할 수 있다.

Git의 Branch 생성하기

다음 명령을 통해서 Branch를 새로 생성할 수 있다.

git branch <branch_name>

main 브랜치는 master이다.
브랜치를 확인하는 방법

git branch -v

Git의 Branch 전환하기

다음 명령을 통해 현재 작업중인 Branch를 전환할 수 있다.

git checkout <branch_name>

Git의 Branch 병합하기

다음 명령을 통해 현재 작업중인 Branch를 원하는 Branch에 병합할 수 있다.

git merge <branch_name>

Git의 Branch 삭제하기

다음 명령을 통해 Branch를 삭제할 수 있다.

git branch -d <branch_name>




Git과 Github

지금까지 Git의 로컬 저장소에서 할 수 있는 일들을 다뤘다. 이젠 다른 사람과 협업을!
깃허브에서 레포지토리를 만든 뒤 로컬과 연동하는 방법.

git remote add <별칭> <원격저장소 주소>
git remote -v 
git branch -M main : master가 깃의 기본 이름인데, 깃허브의 경우 main이라는 이름을 사용한다. 따라서 master 브랜치 이름을 main으로 바꿔준다.
git push <remote_repo_name> <branch_name>
git push main




과제 제출하기

  1. 과제가 있는 원격 저장소를 자신의 원격 저장소로 Fork한다.
    • Fork 한 뒤 원격 저장소에서 로컬 저장소로 파일 받아오기
    •  git clone <원격저장소 주소>
      
  2. 자신의 로컬 저장소에서 브랜치를 만들어 작업을 진행하고 Push한다.
    •  git branch week3/여채린
      
    •  git checkout week3/여채린
      
    • 작업하기…
  3. 자신의 원격 저장소에서 과제 저장소로 Pull Request한다.