[Git]Git 정리
깃이 필요한 경우
- 수 많은 문서를 관리해야 하는 경우
- 이 문서들이 자주 변경되는 경우
- 문서의 변경 이력을 체계적으로 관리해야 하는 경우
- 문서의 조작을 막아야 하는 경우
- 문서를 안전하게 백업해야 하는 경우
- 문서를 다른 사람과 공유해서 공동으로 작업하는 경우
깃의 3대 목적
- 버전관리
- 백업
- 협업
깃의 종류
- 깃허브 데스크탑
- 소스트리(자유로우나 복잡함)
- tortoisegit(윈도우 탐색기에 기생)
- 오리지날 깃
소위 git이라고 하면, command line에서 사용되는 프로그램을 말한다.
Git에 버전관리 명령을 하는 line
=> git innit .
(현재폴더를 버전관리 폴더로 사용하라)
.git
은 지우면 안된다.
Working tree - 수정한 내용이 들어있음
Staging Area - 수정한 내용중에서 commit하고싶은( 버전을 만들고싶은) 것들은 staging area에 올림
Repository - Staging Area에서 commit을 하면 변경사항들이 저장소에 온다.
Commit 은 버전이랑 같은 의미.
명령어들
git add 파일명 => working tree에서 staging Area로 이동
git status => changes to be committed 뜸
git commit –m “버전이름” => staging Area에서 repository로 이동(버전을 만드는 것)
git log => repository에 올라온 버전에 대한 설명이 나옴
git log –stat => 버전에 관련된 파일들이 어떤 것들이 있는지 알 수 있음
git diff => 버전의 차이점을 보여줌
git reset –hard=> 지금까지의 작업내용이 사라짐(마지막 버전이 사라지고 이전의 버전으로 되돌아감)
checkout
특정버전으로 working tree를 변경 시키는 방법.
git checkout commit아이디 => 해당 버전을 만든 시점으로 돌아감.(head->master에서 head가 해당버전을 향하게 함)
그러나 해당버전이 지워진것은 아님.
git checkout master => 최신 상태로 돌아감.
즉, 과거와 현재를 왔다갔다 하면서 탐색이 가능함.
git commit –am “메시지” => add와 message를 한번에 함.
파일이 최초에 한번은 add가되어 tracked 상태가 되어야 적용 가능함.
git revert 버전이름 => 에디터로 들어감.
Ctrl + X , Y 누르면 commit되어서 revert됨.
역순 순서대로 revert해야 충돌이 일어나지 않음.
diff tool로 버전관리 검색을 할 수 있음
.gitignore 로 버전관리를 하지 않는 파일의 이름을 적으면 됨.
Leave a comment