Git, Github

[Git] GitBash 수업 정리

FRDYtheme 2022. 9. 19. 11:19

Git은 파일의 수정 사항을 체크해 기록해놓는 프로그램이다.

파일의 변경 사항을 추적하기 때문에 버전 관리에 용이하며 github 등의 호스트 사이트와 연동하면

백업도 간편하고 협업 시 아주 유용하다.

 

먼저 git 프로그램을 실행 후 git 폴더로 만들 폴더를 정해야한다.

정했으면 폴더 경로로 이동하는 방법 2가지가 있는데

 

1. 쉬운 방법은 git이 깔려 있는 상태에서 폴더의 빈 부분을 마우스 우클릭하고

'git bash here'라는 탭을 클릭하면 그 폴더 경로에서 git bash 프로그램이 실행된다.

 

2. 두 번째 방법은 git 프로그램을 실행하고 cd '폴더명' 을 이용해 폴더의 경로를 직접 찾아가는 방법이 있다.

 

폴더의 경로를 찾아왔다면 먼저 초기화를 시켜줘야한다.

초기화 명령어 : git init

초기화를 시키면 git 프로그램의 폴더 경로 옆에 (main) 혹은 (master)라는 표시가 나온다.

(git 설치 시 설정에 따라 이름이 다르게 나옴. 보통 main 혹은 master 둘 중 하나다.)

 

초기화를 시킨 git폴더 내에는 .git 이라는 숨김 폴더가 생성되었다면

이제부터 폴더 내 파일의 변경 사항을 추적하고 기록할 수 있다.

 

* 작업트리(working tree) 혹은 작업 디렉터리(working directory)

- 파일의 수정, 저장 등의 작업을 하는 로컬 디렉토리(폴더)

 

* 스테이지(stage) 혹은 스테이징 영역(staging area)

- 로컬 디렉토리에서 수정된 파일을 쌓아놓는 곳

- 로컬 디렉토리에서 스테이지로 파일을 넘겨야 기록이 남고 github 등에 백업을 할 수 있다.

 

* 저장소(repository)

- 스테이지에서 대기하고 있던 파일들을 저장하는 온라인 디렉토리(저장소)

 

 

* 작업 트리와 달리 스테이지와 저장소는 실제 눈으로 보이지 않고 초기화 했을 때 만들어지는

.git 디렉토리 안에 숨은 파일 형태로 존재하기 때문에 git 내에서 명령어를 사용해 파일의 상태를 체크해야한다.

 

(* 스테이지의 내용은 .git/index 파일에 저장되고, 저장소의 내용은 .git/HEAD 파일에 저장된다.)

 

파일의 변경사항(생성 or 수정) 내역을 git 내에서 체크하는 방법

 

git status

git status -s (간략하게)

 

파일이 생성되었을 시 확인되는 메시지

Untracked files:

 (use "git add <file>..." to include in what will be committed)

         파일.txt

 

nothing added to commit but untracked files present (use "git add" to track)

 

-> '파일이 생성되었으나 트랙에 추가되지 않았다'라는 메시지와 함께

git add라는 명령어를 추천한다.

 

파일을 트랙 위로 추가 : git add 파일명.txt

수정된 파일 일괄 추가 : git add . 혹은 git add *

해당 디렉토리 포함 하위 파일 일괄 추가 : git add 디렉토리명

 

파일을 스테이지로 올리기 전에 add 커맨드로 먼저 파일을 트랙 위로 올려야한고

그 다음 파일을 commit 해야 하는데 커밋을 하기 위해서는 누가 커밋했는가에 대한 유저 정보를 등록해야한다.

 

git config --list : git에 등록된 정보 확인하기

git config --global user.name : git에 사용할 유저 이름

git config --global user.email : git에 사용할 이메일

 

유저 정보를 등록했다면 commit이 가능해진다.

 

파일 커밋 : git commit -m '간략한 메시지'

 

이 작업까지 끝내면  git 내에 기록이 남고 언제든 폴더 내 파일의 상태를 기록된 버전 상태로 돌려놓을 수 있다.

**파일을 처음 커밋할 때 꼭 add와 commit 과정을 한 번은 거쳐야하고 이후부터는 add와 commit을 동시에 할 수 있다.

 

add와 commit 동시에 : git commit -am '간략한 메시지'

 

이렇게 스테이지 위에 커밋된 파일의 기록과 ID를 확인하려면

 

커밋 이력 확인 : git log

커밋 이력 확인 (간략하게) : git log --oneline

커밋 이력 확인 (그래프 형태로) : git log --graph

커밋 이력 확인 (간략하게 그래프 형태로) : git log --oneline --graph

 

이력에서 확인되는 ID의 앞 7자리가 버전 롤백 시 사용하는 커밋 ID가 되며 버전을 돌리는 명령어는 아래와 같다.

 

git revert ABCDEFG :

커밋 기록이 남아 권장

git reset ABCDEFG : 기록이 남지 않기 때문에 회귀하기 어려움.

 

또 커밋 ID로 들어가 당시 파일의 상태를 체크만 하는 것도 가능하다.

 

git checkout ABCDEFG : 해당 커밋 상태로 이동

 

git remote rm origin : 연결된 온라인 저장소 정보 삭제