-
알지만 넘어간 Git 명령어는?개념 Self Study📝/알고가자 2024. 10. 4. 10:15
1. 개요
- 형상관리를 진행하기 위해서는 Git을 주로 사용하는 경우가 많다. 그렇지만 CLI를 통해서 Git을 사용을 하면 자주 사용하는 명령어만 사용하게되어 다른 명령어들은 등한시 하게 되는데 그 중 자주 사용하는 명령어에 대해 정리해보고 놓치는 개념들에 대해서 알아보자
2. git clone, git fork의 차이
- git clone: clone은 원격 저장소를 로컬 환경으로 복제해오는 방법이다. 이를 통해 원격 저장소에 있는 모든 코드, 히스토리, 브랜치 등을 로컬 환경에 가져올 수 있다.
- git fork: fork는 다른 사람의 원격 저장소를 복제해서 내 저장소에 따로 만드는 방법이다.
이를 통해 원본 프로젝트와 완전히 분리된 환경에서 작업하여 코드를 안전하게 수정하고 실험할 수 있다.
* fork를 선호하는 이유
- 브랜치 관리가 제대로 되지 않을 가능성이 있다. 릴리즈 브랜치, 여러 피쳐 브랜치들이 중구난방으로 생성되면 브랜치가 어지럽다.
또, 실수로 로컬 작업을 날려버렸는데 리모트에서도 작업이 날라가버렸다면 clone의 경우 복구가 힘들다. fork를 사용했다면 upstream에서 날라가더라도 내 origin 에 남아있기 때문에 큰 문제가 없다
3. git pull, git fetch
git fetch: 로컬 Git에게 원격 저장소에서 최신 메타데이터 정보를 확인하라는 명령을 전달한다. 단, fetch는 원격 저장소에 변경사항이 있는지 확인만하고 , 변경된 데이터를 로컬 Git에 실제로 가져오지는 않는다.
git pull: 원격 저장소에서 변경된 메타데이터 정보를 확인할 뿐만 아니라 최신 데이터를 복사하여 로컬 Git에 가져온다.
> git pull <remote명> <branch명> *<>는 생략
git fetch를 사용하면 마지막 pull 이후 원격 저장소 또는 브랜치에 적용된 변경사항을 확인할 수 있다. 만일 원격 저장소 또는 브랜치에 적용된 변경 사항을 확인할 수 있다. 만일 원격 저장소에 변경사항이 존재하는 상황에서 pull을 바로 실행하면 현재 브랜치와 작업 복사본의 파일이 변경되는 동시에 내용손실이 발생할수 있다.
참조
https://www.freecodecamp.org/korean/news/git-fetch-vs-pull/
'개념 Self Study📝 > 알고가자' 카테고리의 다른 글
Git 명령어 별 어떤 구조인가? (3) 2024.11.08 Mac에 UTM이용한 Window 가상머신 Setting (0) 2024.03.18 static 변수? static 함수? (1) 2024.01.08 메모리의 구조 및 C# 데이터 형식 (0) 2023.07.25 생성자 정리 (0) 2023.07.13