window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TVPGDJFBVF'); [Git] 초보 개발자들을 위한 Commit과 Push의 차이점 쉬운 설명

Git & Github

[Git] 초보 개발자들을 위한 Commit과 Push의 차이점 쉬운 설명

futuregunmulju 2025. 1. 28. 02:12
반응형

 

목차

1. 커밋 (Commit)

2. 푸시 (Push)

3. 커밋과 푸시 요약 정리

 

 

 

 

 

 

1. 커밋 (Commit)

커밋은 로컬 저장소에서 작업한 내용을 저장하는 작업이다. 커밋을 하면, 변경된 파일들이 git의 로컬 기록에 남고, 이를 통해 프로젝트의 변경 내역을 추적할 수 있다. 커밋은 프로젝트의 history를 남기는 작업인 것.

 

 

 

정리하자면 커밋은 2가지 특징을 갖는데,

1) 로컬 저장소에 저장: 현재 작업 중인 내 컴퓨터에서 저장이 이뤄짐.

2) 버전 기록: 코드 변경 사항을 기록함.

 

 

 

단순히 ctrl+S를 눌러서 내 로컬 컴퓨터에 변경된 코드를 저장만 하는 것이 아닌,

저장하고 새로운 버전이 예전 버전에서 누적되어서 저장되면

우리는 그걸 Commit 했다! 라고 한다.

 

그러니까 수정된 사항뿐만 아니라, 버전까지 같이 내 로컬에 저장하는 방법인 것이다.

 

 

예를 들어, 문서 파일을 하나 작업하고 있는데 에세이를 작성하고 있다고 하자.

첫 문단을 완성하고 첫 커밋을 올렸고

두번째 문단을 완성하고 두번째 커밋을 올렸으면

서로 다른 각각의 버전 두 개가 내 로컬 컴퓨터에 저장이 되어있는 것이다. 

이렇게 계속 문서를 수정하면서 커밋을 올리면 계속해서 새로운 버전의 문서들이 누적이 되겠죠?

 

 

내 컴퓨터에서 코드를 저장되면서, 코드가 변경된 내역이 이전 내용들과 함께 새로운 내역이 추가되는 것!

 

 

 

2. 푸시 (Push)

푸시는 로컬 저장소에서 원격 저장소로 커밋(==저장한 내역인 새로운 버전)을 올리는 작업이다. 푸시를 통해 로컬에서 작업한 변경 사항을 원격(서버, 클라우드)에 올려버리는 것!

 

여기서 '원격 저장소'라고 하는 건 GitHub입니다. 

푸시를 해야지만 비로소 내 로컬에 있는 코드가 깃허브로 올라가게 되는 거랍니다. 

그렇게 되면 서버 원격 저장소를 통해 여러명의 팀원이 동시에 코드의 버전을 같이 확인할 수 있다. 

내가 내 컴퓨터로만 코드를 가지고 있다가

이걸 인터넷 상에 올렸으니까

많은 사람들이 보게 될 수 있게 되는 것이다.

 

 

 

커밋만 하고 깃허브에 안 보이는데?! 하면 당연히 안 보입니다.

깃허브에 올리기 위해서는 푸시를 해야됩니다. 

 

 

 

 

 

3. 요약

실제 개발 흐름으로 정리하자면,

 

1. 로컬에서 작업. 코드를 수정하고, 파일을 저장한다.

2. 커밋. 변경 사항을 로컬 Git 저장소에 기록한다. 

3. 푸시. 로컬 커밋을 원격 GitHub 리포지토리로 업로드한다.

 

 

 

반응형