1. 버전관리를 한다는 건 어떤 의미일까?
- 프로젝트 상태가 변경되는 정보를 알고 있다는 것입니다. Git 은 누가, 언제, 해당 시점의 프로젝트 상태를 기록해두기 때문에 버전 관리가 가능합니다.
2. 작업내역 단위인 commit 에는 어떤 정보가 포함되어 있어야 잘 버전관리를 할 수 있을까?
- 누가, 언제, 무엇을 했는지가 필요하겠죠? 어떤 작업을 했는지 알려주는 작업 내역인 commit 메시지, 누가(author), commit 한 시간이 필요해요.
- 그리고 commit 을 편하게 관리하기 위한 commit 아이디! commit 아이디는 사용자 아이디처럼 commit 에 부여된 유일한 값!
3. 어떤 순서로 했었지?
- 기존의 프로젝트를 git 프로젝트로 만든다. - git 초기화(git initialize)
- commit 할 파일들을 add(staging) 하고 commit 메시지 작성해서 commit!
- 초심자를 위한 꿀 패턴! pull - commit - push
- 혼자 Git 프로젝트 작업을 할 때는
pull
->로컬 repo commit
->push
순서로 하면 좋아요.- 원격 repo 와 로컬 repo 에서 같은 파일을 수정하면 Git 이 같은 파일을 수정했는데 내가 어떤 파일을 최종으로 할까? 라고 확인 메시지를 줍니다. (정확한 내용은 곧 배울꺼에요!) 이런 것을 바로 충돌(conflict)이라고 표현해요.
- 충돌을 피하기 위해서는 아래 순서를 따라주는 게 편해요. 같은 파일을 동시에 수정해버리면 충돌이 나니까 두 repo 의 상태를 똑같이 맞춰준 후에 변경작업을 해주는 거에요.
- 원격 repo 와 로컬 repo 의 상태를 똑같이 맞춰주기, 즉 로컬 repo 에 원격 repo 작업내역 가져오기 (
pull
)- 로컬 repo 의 작업 내용을 저장하고 (
commit
)- 원격 repo 에 로컬 repo 내용을 반영 (
push
)
- 원격 repo 에 변경사항이 생겼다! 하면 먼저
pull
하고 로컬 repo 에서 작업하면 많은 경우 충돌을 피할 수 있어요.