본문 바로가기
IT ▶

[GIT이란?] GIT 기본 개념 및 명령어 모음

by 오프로 2020. 11. 14.

 

 

 

 

* GIT (Global Information Tracker) ?

 

 

 

 

* GIT 기능

 

 

1> 파일 버전 관리

 

- 어떤 파일을 지속적으로 수정할 경우 이전의 원하는 버전으로 변경하거나 변경된 부분 확인 가능

 

 

2> 같이 협업하여 관리

 

- 서로 같은 공간에서 같은 파일을 공유하면서 수정하고 확인할 수 있습니다.

 

 

 

* GIT 구성

 

1> 레파지토리 (Repository) : 저장소

 

 

소스나 파일들을 버전별로 저장하는 장소

 

-> 'git init' 명령어를 통해 해당 경로를 repository 로 설정

 

 

 

2> Staging Area (-> 임시 보관소 느낌)

 

 

소스를 수정하고 실제 commit을 하게되면 Repository 공간에 버전이 올라가면서 저장이됩니다.

 

 

단 로컬 소스에서 Staging Area에 우선 소스를 올려놓고 거기서 commit을 하여 repository 이동합니다.

 

 

Working Directory -> Staging Area -> Repository

 

 

Staging Area 가 있는 이유는 수정을 하면서 실제 반영이 필요한 소스들만 실제 commit을 통해 Repository에 

 

이동시키기 위한 중간 단계로 보시면 됩니다.

 

 

 

<참고> 이클립스에서는 소스파일을 drag 하거나 commit을 누르지만 실제 git은 아래 명령어 통해 작동

 

Working Directory -> Staging Area : git add "소스파일명"

Staging Area -> Repository : git commit -m "소스파일명"

Working Directory <- Staging Area : git reset "소스파일명"

 

 

 

3> Commit 관련

 

 

- git push : 로컬 Repository -> 원격 Repository (공동으로 쓰는 보관소)

 

- git pull : 원격 Repository -> 로컬 Repository

 

- git clone : 원격 Repository 의 프로젝트 디렉토리를 가져올때 사용

 

-> 이클립스에서는 import 하여 git clone URL을 붙여넣기하여 가져오기도 한다.

 

- git diff [commit 아이디 A] [commit 아이디 B] : commit 소스 간의 차이 비교

 

- git add [파일명] : 수정사항 있는 해당 파일을 staging area 로 올리기

 

 


* Branch (브랜치)


코드 관리하는 흐름 단위로 보통 프로젝트 소스에서 자기 담당 관련 브랜치를 생성하여

해당 브랜치를 연결하여 수정한 소스들이 들어있는 브랜치별로 빌드, 반영할 수 있습니다.

해당 브랜치를 반영하므로 자기가 수정한 부분만 반영할 수 있습니다.



1> branch 관련 명령어

 


- git branch 브랜치명 : 브랜치를 생성

- git branch : 브랜치 목록들을 조회

- git checkout 브랜치명 : 해당 브랜치로 연결

 

- git branch -d 브랜치명 : 브랜치 삭제


- git fetch : commit 된 소스를 불러와 merge는 하지 않는다. (pull 은 commit된 소스들을 가져와 merge)

- git revert : 이전에 commit 하였던 행동을 취소하고 다시 commit (원복 개념)

 

- git reflog : commit 하였던 로그들을 쭉 볼수 있는 명령어

 

 

 

 

728x90
300x250