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 : 연결된 온라인 저장소 정보 삭제
'Git, Github' 카테고리의 다른 글
[Github] Fork를 이용해 pull request하기 (pull, push로 백업 활용하기) (0) | 2022.09.20 |
---|---|
[Github] Push하기 (0) | 2022.09.19 |
[Git] Branch(브랜치) 생성 (0) | 2022.09.19 |