본문 바로가기
TIL

11.01 (TIL-Git)

by 오랑이귀엽다 2023. 11. 1.

VCS

버전 관리 시스템(Version Control System) 

 

Git

형성 관리 도구 (Configuration Management Tool)

이는 버전 관리 시스템의 종류중 하나이며 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로

관리 할수 있게 해준다. (무료, 공개 소프트웨어!!!!)

 

Commit

프로젝트의 현재 상태를 나타내는 체크포인트 또는 스냅샷

(현재 버전의 코드를 커밋에 저장!!)

장점

1. 커밋 히스토리에 필요한만큼 커밋 생성

2. 커밋 간 앞 뒤로 이동 하여 프로젝트 코드의 변경사항을 확인 가능

3. 커밋을 사용함으로 프로젝트의 진행 상황을 효율적으로 관리

4. 일반적으로 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후, 수정 사항을 적용한 후 정도가 있다.

Amend

이는 가장 최근 커밋을 수정하는 편리한 방법.

새 커밋을 전체 적으로 생성하지 않아도 기존 커밋으로 단계적으로 변화를 결합시킬 수 있다. 

중요한 점은, 가장 최근에 작성한 "Commit"에만 적용할 수 있다는 점!

 

Undo

이는 일을 하다 모든 단계에서 어떤것은 되돌리고 싶을 때 사용

한 번 되돌리면 복구할 수 없기에 주의!

 

Discard

Discard(폐기), Remove(제거) 차이점

Discard 는 내가 변경한 내용만 처음로 되돌리는것 (커밋하기전)

Remove 는 해당파일을 삭제!

 

Stash

변경사항을 저장하는 기능,

아직 커밋하기에는 이르거나

Branch 로 체크아웃 할 때 변경사항을 유지하고 싶을때 사용,

변경사항을 일시적으로 저장하고 나중에 다시 사용 가능

Fetch

페치(fetch)는 원격 저장소의 커밋들을 로컬 저장소로 가져온다.

자동으로 병합(Merge)를 해주지 않기 때문에 본인이 직접 확인을 한 후에 병합(Merge)하는 과정을 거쳐야한다. 

 

Pull

pull이란 원격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge)까지 수행

 

단점으로는 pull을 이용해서 원격 저장소의 커밋을 가져오게 되면 자동으로

병합되기 때문에 어떤 내용이 병합되면서 바뀌는지 알기가 힘들다.

 

누군가 정보를 남긴다면

Push

이는 로컬 브런치에서의 변경 이력을 원격 저장소에도 반영해주는 것 

Main, Branch

브렌치는 본질적으로 독립적인 개발 라인!

새 기능이나 버그 수정 작업을 할 때 브랜치를 사용하여 다른 팀과의 작업을 분리 할수 있다.

이를 이용해 브렌치에서 변경사항을 추가

브렌치에서 변경했기에 메인은 변경x

이후 브렌치에서 커밋을 하고 푸쉬를 하면

이러한 결과가 나온다.

 

하지만 아직 메인에는 변경사항이 없다.

 

만약 변경사항을 메인에게 적용하고 싶다면 

Merge 를 이용

이는 브렌치를 다른 브렌치와 합치는 것이다. 즉 병합!

 

 

Checkout

이는 브랜치 간에 전환, 현재 작업중인 파일을 복원할 때 사용된다.

 

 

오늘은 Git을 다루는 기본적인 연습을 해보았다.

처음 경험해보는 것이라 모르겠으면서도 신기하다.

다들 이런식으로 공유를 하는구나...

 

 

'TIL' 카테고리의 다른 글

11.06 (TIL)  (0) 2023.11.06
11.03 (TIL)  (0) 2023.11.03
11.02 (TIL)  (0) 2023.11.02
10.31 (TIL)  (0) 2023.10.31
10.30 (TIL)  (0) 2023.10.30