181127 지옥에서 온 git 정리 (1)
Git
- Backup(저장)
- Recovery(이전 상태로 복구)
- Collaboration(다른 사람과 협업)
CVS, SVN, GIT 등 다양한 version control system 제품이 있다.
git은 매우 복잡하고 어렵다
-> 기능이 더해지면서 점점 복잡해졌다.
? 이렇게 어려운데도 git을 사용하는 이유는 무엇일까?
복잡하지 않은 코드+복잡한 GIT = 오히려 방해가 될 수도 있다. (드롭박스나 구글 드라이브를 이용하는 것이 나을수도 있다.)
아주 복잡한 코드(몇천만줄…?)+상대적으로 덜 복잡한 GIT = 상대적으로 복잡도가 낮아질 수 있다.
자신이 어떤 상황인지에 따라서 필요한 것을 잘 선택하라.
Codeonweb
https://www.codeonweb.com/#/
다양한 언어의 실습을 웹에서 해 볼 수 있다.
git init
프로젝트를 진행할 폴더에 들어가서
git init
을 입력하면 .git/ 라는 git 레포지토리를 생성한다.
git 버전관리를 사용하기 위해서는 다양한 정보들이 생성되는데, 이 정보들이 .git/폴더에 저장된다.
git add
git status
디렉토리 내부에 파일이 생성되어도 git에 관리하라는 명령을 주지 않으면 그 파일을 관리하지 않는다.
git add 파일이름
새로 추가한 파일은 git add명령어로 파일을 추적하도록 설정해야 한다.
임시로 생성되는 파일은 버전 관리에서 제외해야 하므로, 관리해야 하는 파일이 무엇인지 git에게 정확하게 알려주는 방법이다.
? 왜 커밋하기 전에 add해야 하는가?
커밋 하나는 하나의 작업을 담는 것이 이상적이다
아주 많은 작업을 담은 커밋 하나를 만들어야 하는 경우(커밋 시기를 놓친 경우), add하지 않은 파일은 커밋되지 않도록 할 수 있다. (선택적으로 커밋)
git commit
모든 변화를 버전 version 이라고 하지 않는다.
version: 의미 있는 변화. 어떤 단위(작업)가 완결된 상태.
git config --global user.name 이름
git config --global user.email 이메일
git을 처음 설치했을 때, 위와 같이 설정해서 변경사항을 커밋한 사람이 누구인지 확실히 한다.
git commit
변경사항의 이유나 내용을 적는 것이 commit 메시지이다.
git log
커밋 내역을 볼 수 있다.
? 파일이 변경된 경우
git add 변경된 파일
을 수행한 후 commit해야 한다.
git stage area
cp 원본파일 복사파일
을 통해 파일을 복사할 수 있다.
stage area
add하는 경우 stage에 추가된다.
commit하는 경우 stage 위에 있는 파일만 commit된다.
커밋된 결과는 repository에 저장된다.