Java 웹 개발

[코드 프레소 웹 개발 체험단] - Git 입문

m_yell 2022. 1. 14. 12:08

 

 

 

- 코드프레소 Java 웹 개발 체험단 활동 중

- 코드프레소 이러닝 강의 수강 중 '실무자가 알려주는 Git 입문'

 

이 글은 코드프레소 Java 웹 개발 체험단 강의 중 '실무자가 알려주는 Git 입문' 강의 내용입니다.

 

Git : 소스코드를 효율적으로 관리하기 위한 형상관리 도구 또는 '버전 관리 도구' 라고 불린다.

 

  • Git 시작하기

1. Git을 사용하기 위해선 기본 환경 설정을 해야한다. 

Git bash를 설치한 다음, 사용자의 이름, 이메일을 기본 설정으로 등록한다.

$ git config --global user.name "이름"

$ git config --global user.email "이메일주소"

 

2. 정보가 제대로 저장되었는 지 확인한다.

$ git config --global --list

 

* 기본 설정을 변경하고 싶다면 

$ vi ~/.gitconfig

를 입력하고 i를 눌러 insert 모드로 진입한 다음, 수정 후 [ESC] + :wq 를 눌러 저장, 종료를 하면 된다.

 


  • Git에는 원격 저장소와 로컬 저장소가 존재한다.

 

로컬 저장소는

1. 작업 디렉토리 

- PC에서 현재 작업중에 있는 디렉토리

- Git에서 관리는 하지만, 추적은 하지 않음

 

2. 스테이징 영역

- 작업한 내용이 올라가는 임시 저장 영역

- Git에 의해 변경점 추적 관리되는 영역

- 커밋을 준비하는 영역

 

3. 로컬 저장소

- 커밋들이 영구적으로 저장되는 영역

- 원격저장소로부터 clone한 커밋들이 존재하는 영역

 

로 구분된다.


* 커밋 (Commit) 

- Git에서 가장 의미있는 변경 단위

- 변경의 단위는 개발자마다, 조직마다 모두 다르다.

- "커밋하다" - 변경점을 로컬 저장소로 저장하는 과정

 

* Clone

- 원격저장소의 소스코드를 로컬저장소로 복사하는 과정


  • Git의 기본 플로우

1. 원격저장소의 소스코드를 다운로드해서 (Clone)

2. 작업 디렉토리에서 작업한 내용을

3. 스테이징 영역에 추가한 후 (add)

4. 의미있는 변경점이 쌓이면

5. 최종적으로 커밋을 만들어 (Commit)

6. 로컬 저장소에 영구적으로 저장한다.

 

 

여기서 원격 저장소에 있는 소스코드를 pull, push 하는 과정도 존재한다.

Pull : 원격저장소에 있는 다른 개발자의 커밋들을 받아온다.

Push : 로컬저장소에서 만든 커밋을 원격저장소로 업로드 한다.


  • 원격저장소 생성

개인이 원격저장소를 생성 및 관리하긴 어려워서 대신해주는 웹 기반 플랫폼 서비스들이 존재한다.

ex) Github, Gitlab, bitbucket 등...

 

(Gitlab으로 실습을 할 예정)

1. Gitlab에 회원가입을 한 뒤

2. Create new project를 통해 새로운 프로젝트를 생성한다. 개인 실습이기 때문에 private를 체크하고 생성한다.

 

  • 로컬저장소 생성

1. Git bash을 열고 git을 통해 관리할 수 있도록 필요한 파일들을 생성하고 초기화하는 작업을 수행한다.

$ git init

 

위 명령어를 작성하면 git의 핵심폴더인 .git 폴더가 생성되고 master라는 기본 브랜치가 생성된다.

 

생성된 원격 저장소와 로컬 저장소를 연결하려면 아래 명령어를 입력한다.

$ git remote add [저장소 별칭][저장소 주소]

[저장소 별칭]은 저장소에 쉽게 접근하기 위한 일종의 변수다. 기본값은 origin

[저장소 주소]는 gitlab의 project 페이지에서 clone을 나오면 Clone with HTTPS의 주소를 가져오면 된다.

 


  • 기본 명령어

1) 현재 폴더 내 파일의 상태 확인하기

$ git status

 

2) Commmit의 History 확인하기

$ git log

 

3) 파일 생성 및 수정하기

$ vi [파일이름]

vi 에디터가 나오면 i를 눌러 insert모드로 들어간 뒤 수정을 해야한다. 

저장하고 종료할 땐, [ESC] + :wq + [Enter]

 

4) 작업 디렉토리의 변경사항을 스테이징 영역에 추가하기

$ git add [추가하고 싶은 파일명]

스테이징 영역에 추가시킨 뒤 해당 폴더 내 파일의 변화를 확인해야한다.

스테이징 영역에 추가하기 전엔 폴더 앞에 'untracked file'이라고 적혀있지만 추가되고 난 뒤는 'new file'로 되어있다.

 

5) 커밋 생성

$ git commit

위 방식은 에디터를 직접 열어 작성하는 방식이고

$ git commit -m "커밋메시지"

위 방식은 에디터를 실행 하지않고 커밋을 생성하는 방식이다.

 

6) 간단한 변경점 확인하기

$ git diff

변경점이 적은 경우 쉽게 파악이 가능하지만, 변경점이 많은 경우 파악이 어렵다.

 

7) 원격저장소에 커밋 반영하기

$ git push [저장소별칭] [현재브랜치]

위 명령어를 치면 로그인창이 뜨는데 GItlab에 가입할 때 사용한 이름과 비밀번호를 치면 된다.

 

* 만약 로그인을 잘못 했을 시, (윈도우 기준) 

자격 증명 관리자 실행 → Windows 자격 증명 → 일반 자격 증명 → Gitlab 자격 증명을 제거하면 다시 로그인 창이 뜬다.

 

8) 등록된 원격저장소 보기

$ git remote -v

 

 

 

< git의 기본 플로우 정리 > 

로컬 저장소에서 코드를 수정해서 'git add'라는 명령어를 통해 스테이징 영역에 추가하고 해당 사항들을 다시 'git commit' 명령어를 통해 커밋으로 만들었다.

이 로컬 저장소 안에 있는 커밋들은 다시 'git push'라는 명령어를 통해서 원격 저장소로 저장한다.

 

 

 

- 코드프레소 URL : https://www.codepresso.kr/ 

 

프리미엄 IT 교육 서비스 - 코드프레소

 

www.codepresso.kr