Git 기초

강호수·2022년 9월 3일
0

Git 이란?

  • 파일 관리 프로그램
    • 버전 관리
    • 백업
    • 협업

Git 용어

  • Fork

Remote에 있는 다른 Repository에서 Fork 해서 Remote에 있는 내 Repository에 가지고 온다.

→ 다른 사람의 Repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 것에 그대로 복제하는 기능

  • clone

내 컴퓨터에서 작업 하기 위해 직접 복사를 해온다

  • add

Work space 에서 바뀐 것을 Staging area로 add

  • commit

Local Repository로 commit

  • push

Github의 내 Repository에 Push

(보통 add → commit → push 가 한번에 이루어지는 것 같다)

  • pull request

pull request를 통해 remote의 원래 respository로 내가 수정한 코드를 업로드 할 수 있다.

  • status

충돌이 나게 될 때 어떠한 상태인지 알 수 있다.

  • restore
  • reset

commit 취소

→ reset HEAD^ → workspace로 내려감(add, commit 필요)

  • log
  • pull

원격 저장소에서 로컬 저장소로 소스를 가져온다. pull은 새로 가져온 소스가 내 소스보다 더 최신 버전일 때 merge하여 버전을 올린다.

  • init

처음 git 프로젝트로 만듦

  • remote add
    • 내 Github에 있는 Remote Repository와 연결

      → git remote add origin

    • 연결하고자 하는 상대방의 Repository

      → git remote add pair

  • remote -v

현재 Local Repository와 연결된 모든 Remote Repository 목록 확인


Git Workflow

  • 내 컴퓨터에서 직접 만든 디렉토리를 Git 관리 하에 들어가게 만들기 위해서는 git init 이라는 명령어를 사용한다. 기존 프로젝트를 Git Repository로 변환하거나 새로운 Repository를 초기화하는 데에 사용한다.

  • Local Repository를 Remote Repository와 연결하기 위해 git remote add 명령어 사용

  • Github에 Repository 하나 생성 후 그것의 주소를 git remote add origin 뒤에 입력함으로써 해당 Remote Repository와 연결

  • git remote add pair <주소> 를 사용해 상대방의 Repository와 연결

  • git pull pair 를 통해 페어의 Remote Repository에 있는 작업 내용을 받아올 수 있다. 받아오면 자동으로 merge 된다.

  • 충돌이 발생했을 때 여러가지 방법으로 해결한다

    • Accept Current Change → 내가 수정한 내용으로 반영
    • Accept Incoming Change → Remote Repository의 내용으로 파일에 반영
    • Accept Both Changes → 변경 사항 모두를 반영
    • (직접 수정해서 반영)
  • 수정을 마친 뒤 merge commit을 생성하기 위해 파일을 staging area로 추가

  • 이후 commit → push


Pair programming

  • 한 개의 공통 Repository를 각자의 Github Repository로 Fork
  • 각자 Local 저장소로 clone 저장 → git clone
  • 상대방의 Repository와 연결 → git remote add pair(이름설정) <페어의 Repo URL>
  • add → commit → push → git push origin main(master)
  • 페어가 pull을 통한 merge → git pull pair main(master)
  • repeat

0개의 댓글