Git

소스 코드 기록을 관리 / 추적할 수 있는 버전 관리 시스템

Github

Git Repository를 관리할 수 있는 클라우드 기반 서비스

버전 관리 필요성

  • 이전 상태로 쉽게 돌아갈 수 있다.
  • 변경 이력을 관리할 수 있다.
  • 누가 어떤 수정을 했는지 쉽게 확인 가능
  • 여러 원격 저장소를 이용해서 백업과 협업을 쉽게 할 수 있다.

기본 셋팅 방법

사용자 등록
$ git config --global user.name "사용자 이름"
$ git config --global user.email "이메일 주소"
   ※ "" 부분을 내걸로 바꾸면 됨

깃의 세가지 영역 및 상태

  • Unmodified: 기존에 commit 했던 파일을 수정하지 않은 상태
  • Modified: 기존에 커밋 했던 파일을 수정한 상태
  • Staged: commit 가능한 상태 => 커밋 하기 위해 add 필요

깃 명령어

  • init: 현재 프로젝트를 깃 레파지토리로 변환하거나 새로운 레파지토리 초기화
    • git init
  • clone: 원격 Repository를 내 로컬 환경에서 사용할 수 있도록 복사
    • git clone "레파지토리 주소"
  • status: 커밋 되기 이전까지의 상태 확인
    • git status
  • restore: 커밋 되지 않은 변경 사항 폐기
    • git restore "파일명"
  • add: 커밋하기 위해 로컬 환경의 파일들을 staging area로 이동
    • git add "파일명"(해당 파일만 이동) / git add .(모든 파일 이동, 띄어쓰기 확인)
  • commit: staging area에 있는 파일 커밋
    • git commit -m '메세지'
  • reset: 커밋 취소
    • git reset HEAD^ => 가장 최신의 커밋 취소. ^^로 몇번째 커밋인지 지정. ~1도 가능.
    • hard, soft
  • push: 로컬에서 작업한 파일을 원격 레파지토리로 업로드
    • git push "저장소명" "브랜치명"
  • log: 현재까지 커밋한 로그들 확인
    • git log 종료할 땐 q

협업에서 많이 쓰이는 명령어

  • remote: 로컬 리파지토리와 원격 레파지토리 연결
    • git remote add origin "레파지토리 주소" => 내 리파지토리 연결
    • git remote add "상대방 저장소명" "리파지토리 주소" => 상대방 리파지토리 연결
    • git remote -v 현재 연결되어 있는 리파지토리 모두 확인
  • pull: 상대방이 작업한 내용 내 로컬 작업환경에 불러오기
    • `git pull "상대방 저장소명" "브랜치명"
profile
코더가 말고 개발자가 되고싶은...

0개의 댓글