[Git] 기초
Git 이란?
가장 강력하고 대중적인 버전 관리 시스템이다.
개발자의 코드를 효율적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'
- Git : 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
- Github : Git Repository를 관리할 수 있는 클라우드 기반 서비스
- Git Repository : 파일이나 폴더를 저장해두는 저장소
ㄴ Remote Repository : 원격 온라인 서버상의 저장소. 여러사람이 함께 공유 가능
ㄴ Local Repository : 내 컴퓨터의 저장소. 내 개인 전용 저장소
버전 관리 시스템의 필요성
- 파일이 변경되면 변경 이력을 저장할 수 있다.
ㄴ 버전관리라는 것 자체가 각 버전별로 변경된 이력을 저장하는 작업이다.
- 이전 버전으로 돌아갈 수 있다.
- 어떤 변경 사항들이 발생했는지 알아보기 쉽다.
ㄴ 변경 사항을 저장할 때는 꼭! 코멘트로 변경 사항을 작성해야 한다. 코멘트로 누가 어떤 파일을 추가, 수정, 삭제했는지 확인 가능함도 중요한 장점이다.
- 협업하기 좋다.
ㄴ Git으로 관리되는 파일은 여러가지 원격저장소를 이용해 백업과 협업이 가능하다.
- 백업용
Github Workflow
- Fork : 다른 원격저장소에서 내 원격저장소로 복사
- Clone : 내 원격저장소에서 내 컴퓨터로 복사
git clone [Repository 주소]
- Status : staging area와 untracked files 목록에 어떤 것들이 있는지 확인 가능
ㄴ add
: 파일을 commit 할 수 있는 상태로 변경 (Untracked files를 Staging area로 추가해서 Git의 관리하에 둠)
git add <파일명>
/ git add . //모든 파일 한번에 추가
ㄴ restore
: 변경사항을 폐기(discard changes)하는 명령어 (Commit 혹은 Staged
git restor <파일명>
- Commit : 수정작업을 끝난 후 변경사항 저장
git commit -m '커밋메세지'
: -m
옵션으로 커밋할 내용의 코멘트 작성이 가능함.
git reset
: Local에서 commit한 내용을 취소
git reset HEAD^
: 가장 최신의 커밋 내용을 취소
- Push : Local에서 변경, commit 된 사항을 원격저장소로 업로드
git push origin branch
원격 저장소에 있는 origin의 master 브랜치에 Local Repository의 변경사항을 업로드하기 위해서는 git push origin master
라고 입력
git log
: 현재까지 커밋된 내역들을 터미널 창에서 확인 가능
- Pull Request : 내가 push한 변경사항에 대해 다른 사람들에게 알리는 것
오늘의 한 줄
Git이 어렵게만 느껴졌었는데 Workflow대로 따라가며 소스를 주고받으니 신기하다. 언젠가 협업하게 될 그 날을 위해 힘내자!!