Git - 버전관리 (Vs Code+Git Bash)

Git 무엇을 할 수 있을까?

  1. 버전 관리 - 깃을 이용하지 않고 파일을 관리한다면 "초안, 수정, 최종, 진짜 최종….. "이렇게 하나하나 노가다성으로 이름을 저장해야 했다. 반면 깃은 문서를 수정할 때마다 언제 수정했고, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템이다.
  2. 백업하기 - 내 컴퓨터는 100% 신뢰할 수 없다. 언제 어떤 이유로 고장날지 모른다. 중요한 자료들을 컴퓨터에만 저장한다면 언젠간 그 자료가 유실될 것도 확실하다. 그래서 우리는 백업을 해야한다. 백업공간을 제공하는 인터넷 서비스 중 깃 파일을 위한 것도 여러개 있다. 이를 깃의 원격 저장소 또는 온라인 저장소 라고 합니다. 그 중 가장 많이 쓰이는 것이 깃허브(GitHub)입니다.

 

 

스테이지(stage), 커밋(commit),

작업트리(working tree), 저장소(repository)

  • 작업트리 - 우리 눈에 보이는 디렉터리를 작업 트리라고 합니다.
  • 스테이지 - 버전으로 만들 파일을 대기하는 장소
  • 커밋 - 스테이지에 넣은 대기파일을 저장소에 버전으로 생성하는 명령
  • 저장소(.git 디렉터리) - 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳. 리포지토리와 저장소라는 용어가 모두 사용됩니다. 

 

작업트리(문서수정) -> 스테이지영역(버전저장) -> 저장소 커밋(버전만들기) 

https://git-scm.com/

 


기초준비

1. visual studio code 실행 후 편집기 폴더를 연결합니다.

 

2. 터미널 -> 새 터미널을 실행합니다 ctrl + shift + `

 

3. powershell -> git Bash로 변경해줍니다.

* 개인의 작업환경과 선호도에 따라 선택가능합니다.

 

4. 저장소 초기화와 기본 설정 값 설정하기.

* 입력 중 터미널 입력이 되지 않을 경우는 q 또는 ctrl + C를 누르세요.

config 초기화 필요할 경우 >> git config --global --unset-all 제거속성

git config --list
git init
git config --local user.name ""
git config --local user.email ""

git init 저장소 설정 후 생성된 숨김폴더(.git)을 보고 싶다면?

  • vs code - 설정 - exclude 검색 - .git 을 숨김파일 목록에서 삭제해주세요.

 

 

5. 리눅스 기초 명령어를 이용하여 다음과 같은 경로의 파일들을 구성해보세요.

* 각 css, html 파일 내에는 단순한 숫자를 입력해둡시다. ex) 1, 2, 3

 

 


버전관리하기

https://git-scm.com/

1. 현재 작업트리 상태를 확인한다.

작업트리(현재) → 스테이지→저장소

git status
  • On branch main //현재 메인 브랜치에 있다.
  • No commits yet //커밋된 파일이 없다.
  • Untracked files: //저장소에 있고 스테이징되지 않은 파일이 있다.
  • nothing added to commit but untracked files present (use "git add" to track) //현재 커밋할 파일이 없다.

 

2. 파일을 스테이지에 올린다.

작업트리 -add→ 스테이지(현재)→저장소

git add index.html
git status
  • Changes to be committed: //스테이징에 저장된 파일있음. 곧 커밋될 것을 나타낸다. 깃은 커밋 시 스테이징에 있는 것만 커밋시킨다.

 

3. 스테이지 파일을 커밋하여 저장소에 올린다.

작업트리 → 스테이지-commit→저장소(현재)

git commit -m 'message'
git status
git log
  • nothing to commit, working tree clean //모든 파일이 커밋되어 작업공간이 비어있다는 뜻입니다.
  • Author 항목은 버전을 누가 만들었는가?
  • Date 버전이 언제 만들어졌는가?
  • HEAD → master 는 이 버전이 가장 최신이라는 뜻입니다.
  • 마지막은 작성자가 기록한 커밋 메세지가 출력됩니다.
  • 이것들을 모두 모아서 커밋 로그 라고 부릅니다.

 

4. 커밋 메세지 수정하기

git commit --amend
git log

 

 

5. 파일 수정 후 변경사항을 체크합니다.

vim index.html //변경
git diff

 

6. 커밋 전 작업 되돌리기

vim index.html //수정
git checkout -- index.html  //되돌리기

 

7. 스테이징 취소하기

vim index.html //수정
git add index.html //스테이징 업로드
git reset HEAD index.html //스테이징 되돌리기

 

8. 커밋 되돌리기

git add index.html //스테이징
git commit -m 'message'
git reset HEAD^ //최신 커밋 취소

 

9. 특정 커밋 되돌리기

git log //특정 버전 commit 옆 글자 복사 복사
git reset --hard 코드 붙여넣기
git log //로그 확인

 

 

  Comments,     Trackbacks