관리 메뉴

100세까지 코딩

Git&GitHub 중급 본문

GitHub

Git&GitHub 중급

100세까지 코딩 2023. 10. 21. 23:54
한눈에 보기

 

 

기능 설명 및 명령어

  1. Fork

  • 다른 사람의 Github repository를 내 Github repository로 그대로 복제하는 기능.
    original repository에 변화(commit)가 생기면 fork 된 repository도 반영(fetch or rebase)할 수 있다. (원본 추적 가능)

  2. Clone

  • 특정 repository를 내 로컬 pc에 복사하여 새로운 저장소를 만든다.
     original repository에 변화(commit)가 생기면 push가 불가능.
  • 수정된 내용을 내 로컬에 적용(fetch & merge) 한 후 push 가능.
git clone https://github.com/본인_아이디/저장소 아이디. git

  3. Fetch

  • 원격 저장소에 변경사항들을 로컬 pc에 가져오기 전에 변경 내용을 확인한다.
    단, 확인만 할 뿐 변경된 데이터를 로컬 pc에 가져오지는 않는다. (merge x)
git fetch 

  4. Branch

  • 여러 개발자들이 동시에 서로 다른 작업을 하기 위해 별도의 공간을 만든다.
  • 현재 시점에 브랜치 만들기
 git branch 브랜치이름

  5. Checkout

  • 브랜치 간의 이동을 하기 위한 명령어
  • -b는 새로운 브랜치를 만들고 체크아웃 (옵션)
git checkout -b 브랜치이름

  6. Status, Add, Commit

  • Status : working directory와 staging area의 상태 확인.
    수정된 파일이 있는지 확인.
  •  Add : 파일들을 stage & track 하게 한다. 변경 사항들을 모아놓는다.
  • Commit : staging area에 저장되어 있는 변경 사항들을 로컬 저장소에 등록(변경사항 확정)
git status // 변경된 파일 확인
git add -A(또는.) // 변경된 전체 파일을 한 번에 반영
git commit -m "메시지" // 작업한 내용을 메시지에 기록

  7. Push

  • 로컬 PC의 최신화된 파일과 상태를 원격 저장소에 반영.
git push origin 브랜치이름

8. Merge

  • 다른 브랜치를 가져와 하나로 합칠 때 사용.
git merge 브랜치이름

9. Pull Request (PR)

  • 조직 Repository에 코드 검토 후 병합해 달라고 요청하는 것
  • 여러 동료들에게 리뷰를 받을 수 있다.

Clone vs Fetch vs Pull
  • clone : github repository에서 로컬 pc로 파일을 받아와 프로젝트 작업 시작
  • fetch : github repository의 내용은 확인하지만 로컬 pc에 merge는 안 함
  • pull : github repository의 최신 정보를 가져와 로컬 pc에 병합 (fetch + merge)
Clone vs Pull
  • Clone은 remote 설정을 자동으로 설정
  • Clone = git init + git remote origin origin + git pull
  • Clone은 처음 받아 올 때, Pull은 중간중간 업데이트 사항을 받을 때
Branch vs Fork
  • Branch는 하나의 원본저장소에서 분기를 나눈다. (소수일 때)
  • Fork는 여러 원격저장소를 만들어 분기를 나눈다. (다수일 때)
  • Branch는 하나의 저장소에서 커밋 이력을 편하게 본다. 그러나 다수의 사용자가 다수 브랜치 만들면 불편.
  • Fork는 원본저장소에 영향을 미치지 않아 마음껏 가능. 그러나 원본저장소 이력을 보려면 따로 주소 추가.

'GitHub' 카테고리의 다른 글

Git Commit Message Convention  (0) 2024.02.26
Git&Github 심화  (0) 2024.02.15
Git&GitHub 시작  (0) 2024.02.15