[Git]Git 정리

1 minute read

깃이 필요한 경우

  • 수 많은 문서를 관리해야 하는 경우
  • 이 문서들이 자주 변경되는 경우
  • 문서의 변경 이력을 체계적으로 관리해야 하는 경우
  • 문서의 조작을 막아야 하는 경우
  • 문서를 안전하게 백업해야 하는 경우
  • 문서를 다른 사람과 공유해서 공동으로 작업하는 경우

깃의 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 로 버전관리를 하지 않는 파일의 이름을 적으면 됨.

Tags: ,

Categories: ,

Updated:

Leave a comment