👩💻 "Git" & "GitHub"
📌Git
✏️ Git이란 무엇인가요?
: Git에 대해 알아보자.

깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여러명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용된다.
즉, 주로 여러명의 개발자가 하나의 소프트웨어 개발 프로젝트에 참여할 때, 소스 코드를 관리 하는데 주로 사용된다.
(자신의 소스코드를 효과적으로 관리할 수 있게 해줌)
✏️ 깃(Git)에 대한 기본 정보
: 깃(git)을 배우는 데 있어서 기본적으로 알아야 할 용어
아래는 깃(Git)을 통한 협업을 위해 "반드시 알아두어야 할 내용"이니 꼭 숙지하자.
✅ 로컬 저장소(local repository)
: 내 PC에서 관리하는 git 저장소✅ 원격 저장소(remote repository)
: 인터넷이나 네트워크 상의 다른 위치에 있는 저장소로, 여러 개발자가 공유할 수 있는 중앙 저장소 (ex)GitHub, GitLab 등
'clone'이라는 명령어로 기존 원격 저장소를 로컬에 받을 수 있다
🙋개발자는 로컬 저장소에서 작업한 변경 사항을 원격 저장소에 푸시(push)하여 다른 개발자들과 공유하고, 원격 저장소에서 변경 사항을 가져와(풀, pull) 자신의 로컬 저장소에 반영할 수 있습니다.✅ 작업 폴더(Working Directory)
:작업이 일어나는 폴더✅ Staging Area(Index)
: 작업 폴더에서 작업한 변경 내용을 기록하는 곳
(git 저장소에 commit하기 전에 올려두는 공간)
🙋stage에서 commit을 하면 git 저장소로 변경 내용이 저장됩니다.
✏️ 깃(Git) 명령어
: 중요한 깃(Git) 명령어에 대해 알아보자
아래는 깃(Git)을 통한 협업을 위해 "반드시 알아두어야 할 내용"이니 꼭 숙지하자.
✅ add
: 작업 폴더에서 변경한 작업을 stage에 올릴 때 사용하는 명령어
🙋add한 파일이 tracked 상태가 되어 git이 관리하는 대상이 됩니다.✅ commit
: git add 명령어로 스테이지에 추가한 수정 파일을 git 저장소에 저장
🙋주의하세요 ! 스테이지에 올려놓지 않은(untracked) 파일은 Commit 되지 않습니다.✅ push
:commit한 파일을 원격 저장소에 올리는 명령어✅ fetch
: 로컬에는 없지만 원격 저장소에 올라가 있는 데이터를 모두 가져옴(업데이트라고 보면 된다)
자동으로 merge 작업을 하지는 않음✅ pull
: 원격 저장소의 데이터를 가져오고, 자동으로 현재 작업하는 로컬 브랜치와 merge한다.
fetch + merge라고 보면 됨
🙋push 하기 전에 pull을 하지 않으면 이미 원격저장소에 변경사항이 일어났을 때 push에 실패합니다.
수시로 원격 저장소에 있는 변경사항을 pull 받는 것이 충돌 예방에 최선입니다.
일반적으로 개발자는 로컬 저장소에서 작업을 하고, 작업이 완료된 후에 원격 저장소에 변경 사항을 반영하기 위해 push를 합니다. 그러나 만약 다른 개발자가 동시에 작업을 하여 원격 저장소에 변경 사항을 푸시한 경우, 로컬 저장소에는 그 변경 사항이 반영되어 있지 않습니다. 이때 push를 하면 로컬 저장소의 변경 사항이 원격 저장소의 변경 사항과 충돌하게 될 수 있습니다.
따라서 충돌을 방지하기 위해 개발자는 push하기 전에 원격 저장소의 변경 사항을 먼저 로컬 저장소로 가져와(풀, pull)
최신 상태로 유지해야 합니다. 그렇게 함으로써 로컬 저장소의 변경 사항과 원격 저장소의 변경 사항을 통합할 기회를 가지게 되고, 충돌을 방지할 수 있습니다.
✅ merge (브랜치 병합)
: 현재 작업 중인 브랜친에 합칠 commit을 지정해서 병합한다.
✅ check out
: 브랜치 전환
예를 들어 현재 feature 브랜치에서 작업을 하다가, develop 브랜치로 전환을 하고싶을 때 사용하면 된다.
'Git' 카테고리의 다른 글
[Git] README 작성방법 & 왜 작성해야할까 ? 🤔 (1) | 2024.10.19 |
---|