
- 코드프레소 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
'Java 웹 개발' 카테고리의 다른 글
[코드 프레소 웹 개발 체험단] - SW 유지보수성 향상을 위한 Clean Code (0) | 2022.01.24 |
---|---|
[코드프레소 웹 개발 체험단] - Java 프로그래밍 초급 (0) | 2022.01.21 |
Git(2) - Git을 통한 협업 (0) | 2022.01.20 |
[코드프레소 웹 개발 체험단] - 실무자가 알려주는 Git 활용한 프로젝트 관리 (0) | 2022.01.17 |
[코드프레소 웹 개발 체험단] - 처음 시작하는 Java 프로그래밍 (0) | 2022.01.16 |