git

Git 기초에 대해서 알아보자 (1)

xhakxh135 2023. 8. 17. 10:02
반응형
SMALL

기본개념

Git은 분산버전 관리 시스템이기 때문에 리모트 서버에 있는 소스를 수정하려면 로컬 환경으로

소스를 클론(복사)하는 과정이 필요하다.  소스를 모두 복사해서 사용자 컴퓨터에 그래도 복붙해주는 느낌.

 

이후 Git은 로컬 환경의 파일을 추적하고 있다가 사용자가 소스를 수정하면 변경사항을 감지하고

사용자는 수정사항을 반영하고 싶은 파일이나 소스 코드의 라인을 골라서 서버에 업로드 하면된다.

 

 

기본용어

Remote  리모트 서버(ex. 구글 드라이브, N드라이브) 서버를 제공해주는 대표적인 업체는 github, gitLab등...
Origin 내가 사용하고자 하는 리모트 서버 이름 : 주로 사용하는 관례적인 이름임
Repository 저장소라는 뜻으로 서버 내에 구분되는 프로젝트 단위, 일반적으로 하나의 레파지토리는 하나의 프로젝트를 의미하지만 상황에 따라 레파지토리 하나에 여러 프로젝트를 구성하기도 함
Branch 브랜치는 독립작업을 하기위해 작업공간을 하나 더 파는 것(기본 적으로 master라는 이름이 하나 생김)

 

 

 

필수 명령어

Pull 리모트 서버의 최신 소소를 가져와서 로컬소스에 병합 해주는 명령어, 가져와서 합친다의 개념으로 브랜치끼리도 pull을 통해 합칠 수 있음
Fetch 리모트 서버의 최신이력을 내 클라이언트로 가져오되 병합은 하지 않음. 다른 사람들이 리모트 서버에 새로 업데이트 한 모든 내역을 받아볼 수 있음
add 원하는 변경사항만 골라 담는 add 명령어
Stage add에서 변경된 사항들은 Stage라고 불리는 공간으로 이동
Commit Stage에 있는 변경사항들을 포장하는 명령어 (Git은 하나의 버전으로 정의한다.)
Push Commit을 통해 변경된 사항들을 Push로 리모트 서버로 업로드 시킴(리모트에 전송하는 것 이기때문에 네트워크 연결필수)

*여기서 pull > fetch 아닐까? 싶지만 pull은 무조건 리모트 서버의 최신 소스를 가져와서 내 로컬소스에 합쳐버리는거라 좀 위험하다. 그래서 보통은 로컬소스와 리모트 소스의 변경사항을 체크하고 미리 비교해보고 싶을때 fetch를 사용한다.

 

반응형
LIST