1. Git 개념과 기본 용어 정리

하히호호·2024년 4월 16일
0
post-thumbnail

git은 분산 버전 관리 시스템 중 하나입니다.
즉, 도구입니다.

Git이란?

오픈 소스 버전 관리 시스템(VCS: Version Control System)으로 로컬에서 버전을 관리하는 도구이다.
git은 자신의 코드와 그 수정 내역을 기록하고 관리하도록 하는 버전 관리 프로그램이다.

git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능하다.

로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없다.

특징

  • 로컬 및 원격 저장소 생성
  • 로컬 저장소에 파일생성 및 추가
  • 수정 내역을 로컬 저장소에 제출
  • 파일 수정내역 추적
  • 원격 저장소에 제출된 수정 내역을 로컬 저장소에 적용
  • master에 영향을 끼지치 않는 브랜치(branch) 생성
  • 브랜치 병합(merge)

설치하기

git 설치페이지 바로가기

각 OS에 맞는 프로그램을 설치하면 된다.
나는 윈도우를 사용하고 있기때문에 윈도우를 선택했다.


들어가 글 가장 상단에 download를 클릭하면 바로 프로그램이 다운로드된다.

모든 프로그램이 그렇지만 파일 저장 위치 잘 확인해주세요!

사용자 정보 설정

다운로드를 한 파일에 들어가면 Git 파일을 확인할 수 있다.

우리가 작업할 공간은 git Bash이다.

++ .exe 확장자는 실행 파일을 의미한다.


git Bash란?

Bash는 'Bourne Again Shell'의 줄임말이다. 스티븐 본 이라는 사람이 개발한 유닉스 쉘 프로그램인 sh의 확장판이라는 의미를 담고있다.

shell?

쉘이란 키보드로 입력한 명령어를 운영체제에 전달하여, 실행하게 하는 프로그램이다.

유닉스?

Git Bash는 리눅스 환경이다.
리눅스는 유닉스 계열의 운영체제를 기반으로 만들어졌다.

Git Bash를 설치하면 window 환경에서 리눅스 커맨드를 사용할 수 있다.


Git 버전 확인

git -v

사용자 정보 설정

Git 설치 후 가장 먼저 할 것
사용자 이름과 이메일 주소를 설정해야 한다.

git config --global user.name "본인 아이디"

git config --global user.email ~~@~~.com

위와 같이 적고나면 사용자 이름과 이메일 주소가 잘 들어갔는지 확인해보자.

git config user.name

git config user.email

git은 커밋할 때마다 이 정보를 사용한다.
한번 커밋한 후에는 정보를 변경할 수 없다.

기본 명령어

git의 기본 용어

git은 하나의 도구이지만 처음 사용할 때 어려움을 느낀다. 가장 먼저 기본되는 용어부터 알아보는 것이 장벽을 낮출 수 있는 것 같다.

저장소 종류

Git은 Repository내의 파일을 관리한다.

Remote Repository :원격 저장소

원격 서버(GitHub)에 저장된 저장소이다. 여러 사람이 함께 공유한다.

Local Repository :로컬 저장소

사용자가 직접 관리하는 저장소이다. 내 PC에 저장되어 있다.

로컬 내부 구조로 3가지 영역으로 나눠진다.


(직접 그린 그림..ㅎ)

* Working Directory : 작업폴더, 작업트리

실제 작업하는 영역이다.

* Staging Area : 스테이징, 스태시

Working tree에서 작업한 파일을 임시로 올려놓는 공간이다.

* Local Repository: 로컬 저장소

PC 내에서 동작하는 저장소를 의미한다. PUSH하기 전까지는 원격 저장소에 반영되지 않기 때문에 원격 저장소에 Dependency없이 오프라인으로 작업이 가능하다.

git 기본 명령어

git bash는 리눅스 커멘드를 사용한다.
CLI 환경에서 git을 설치하고 git ~~으로 사용한다.

add

수정된 파일들을 Staging 영역으로 보낸다.

Commit : 커밋

Staging Repository로 내용을 전달한다.

Clone : 클론

Remote Repository의 특정 브랜치를 Local로 복사한다.
remote 설정을 자동으로 해주는 초기 다운로드 때 사용한다.

Fork : 포크

Clone과 비슷하게 저장소를 복사하지만 Remote에서 Remote로 복사한다.

Pull : 풀

Fetch와 Merge가 한번에 수행된다.
Remote 설정이 이미 되어있을 때, 업데이트 사항 등을 다운로드 할 때 사용한다.

Fetch : 패치

Remote 영역의 내용을 가져와서 업데이트를 한다.
Merge하기 전까지는 작업영역인 Working Directory에 반영되지 않는다.

Merge : 머지

Local 영역에서 갱신된 내용을 거져와서 반영한다. 이때 같은 영역에 다른 변경사항이 있다면 충돌이 발생한다.

리눅스 명령어

pwd

CLI가 작업하고 있는 장소를 알려준다.

cd 디렉토리명

적은 디렉토리로 진입하겠다는 의미이다.

cd ..

현재 디렉토리에서 부모 디렉토리로 빠져나간다는 뜻이다.

.

현재 디렉토리를 의미한다.

..

현재 디렉토리에서 상위 디렉토리를 의미한다.

ctrl + c

잘못 눌러 명령이 나가지지 않는 경우, ctrl + c를 누르면 된다.

ls

현재 디렉토리의 파일 목록을 표시해준다.

ls -al

현재 디렉토리의 숨김 목록까지 표시해준다.

ls *.git

확장자가 git인 목록을 표시해준다.
뒤에 확장자를 적으면 된다.

rm 파일명

Remove의 약자로 해당 파일을 지워준다.

mkdir

새로운 디렉토리를 생성한다.

더 많은 명령어들이 있다.

profile
읽히는 코드를 짜고싶습니다.

0개의 댓글