오늘 배운것
-미니 프로젝트 S.A 작성
-GIT 특강
Git 이 없으면
1. 변경내역 확인이 어렵다.
2. 작업을 되돌리기 어렵다.
3. 협력하기 어렵다.
즉 버전 관리를 위한 도구 = commit을 관리하는 도구라고 부른다.
Git이 관리하는 3개의 공간
1. 작업 디렉터리 : 버전 관리의 대상이 위치하는 공간(.git이 있는 디렉터리)
2. 스테이지 : 다음 버전이 될 후보가 올라가는 공간
(작업 디렉터리에서 변경사항이 있다면 버전이될 후보를 직접 선정해서)
3. 저장소 : 버전이 만들어지고 관리되는 공간
Git 명령어 관리
git init : 로컬 저장소 만들기
git status : 작업 디렉터리 상태 확인하기
git add : <스테이지에 추가할 대상>
git commit :자세한 커밋 메시지와 함께 커밋하기
(이렇게작성하는게좋다)
git commit --message "<커밋 메세지>"
git commit -m <커밋 메세지>
git log : 커밋 목록 조회하기
git log --oneline : 커밋 목록 한줄로 조회하기
git log --patch : 커밋별로 목록 조회하기
git log -p :커밋별로 목록 조회하기
git diff : 내가 최근에 만든 커밋과 현재 디렉토리랑 비교해주는 명령어
git diff --staged : 최근 커밋과 스테이지 비교
git diff <커밋><커밋> : <커밋>끼리 비교 커밋 순서를 유의
(git diff는 3번째 커밋에서 4번째 커밋은 머가달라? 이런식)
브랜치
브랜치를 사용하는이유 : 서로의 작업과 관련업는 부분 같은코드를 다르게
수정한 부분 혼재
일일이 수작업으로 합쳐야되는 것을 편하게하기 위해
브랜치로 버전의 분기를 관리하는 방법
1. 브랜치를 나눈다
2. 각자의 브랜치에서 작업한다
3. (필요하다면)나눈 브랜치를 합친다
=>(합치는 부분에서 같은 부분을 다르게 수정한 부분만 보면된다.)
충돌 해결하기(일상적인 충돌이 많으므로 연습이 많이필요하다..)
충돌이 발생했을때 대처법
1. 충돌을 해결한다(어떤 브랜치의 내용을 반영할지 직접 선별한다)
2. 다시 커밋한다.
<<<<<<<<HEAD
master <-현재 브랜치 내용
foo
fo <- foo 브랜치 내용
브랜치 명령어
git branch - 브랜치 목록 조회하기
git branch <브랜치> - <브랜치>생성하기
git branch -d<브랜치> - <브랜치> 삭제하기
commit --amend :커밋 메세지 수정하는법
느낀점