git이란 무엇인가? 깃허브 사용법과 깃을 미리 배워야하는이유
🔧 깃(Git)과 깃허브(GitHub) 사용법, 그리고 초반에 꼭 배워야 하는 이유
❗ 왜 초반에 Git을 배워야 할까?
많은 사람들이 프로젝트 초반엔 Git 없이 코딩을 시작한다. 괜찮아 보일 수도 있지만, 나중에 큰 대가를 치르게 된다.
후반부에 코드를 날리는 사고가 터지면, 최소 1주일치 작업이 통째로 날아갈 수 있다.
실제로 강사의 학생 중 한 조는 최종 발표 3일 전에 전체 프로젝트가 사라졌고, 3일 동안 합숙하면서 코드를 복원한 적도 있었다. 결과적으로 라인트레이서를 완성했지만, 그 스트레스는 말로 못 한다.
그래서 Git을 아직 잘 모를 때는 무조건 백업을 자주 해두는 습관이 필요하다.
✅ Git이 익숙해지면?
-
협업에 필수
-
작업 이력 추적 가능
-
문제 발생 시 복구가 쉬움
-
면접에서도 깃허브 주소 요구함
많은 회사에서 GitHub 주소를 요청한다. 물론 안 하는 회사도 있긴 하지만, "꾸준히 개발한다"는 증거가 되기 때문에 GitHub에 커밋(잔디 심기)을 자주 해두는 게 좋다.
🛠 Git과 GitHub는 뭐가 다를까?
-
Git: 버전 관리 도구 (내 컴퓨터에서 사용)
-
GitHub: Git을 웹에서 사용할 수 있게 해주는 서비스
Git은 예전에는 SVN(Subversion)을 대체해서 나왔다. SVN은 협업이나 백업 측면에서 불편한 점이 많았지만, Git은 훨씬 유연하고 강력하다.
📁 Git의 기본 구조 이해하기
Git에는 총 4가지 영역이 존재한다.
[0] 작업 디렉토리 (이클립스, VS코드 등 작업 공간)
↓ git add
[1] 스테이징 영역 (스테이지)
↓ git commit
[2] 로컬 저장소 (내 컴퓨터 저장소)
↓ git push
[3] 원격 저장소 (GitHub 등)
-
git add: 작업 중 일부 파일을 스테이징 영역에 올림 -
git commit: 스테이징 영역의 파일을 로컬 저장소에 저장 -
git push: 로컬 저장소의 내용을 **원격 저장소(GitHub)**에 업로드
이 3가지 명령은 꼭 외워야 한다.
🔄 반대로 GitHub에서 내려받는 명령어
-
git fetch: 원격 저장소의 내용을 로컬 저장소로 가져오기 -
git merge: 가져온 내용을 작업 디렉토리와 합치기 -
git pull: fetch + merge를 한 번에 실행
하지만 git pull은 충돌이 발생할 위험이 커서 초보자는 사용을 자제하고, fetch와 merge를 분리해서 사용하는 걸 권장한다.
📌 GitHub에서 레포지터리 만드는 법
-
Repository name: 저장소 이름
-
Choose visibility: 공개(public) / 비공개(private) 선택
-
Add README: 프로젝트 설명용 파일 생성
-
Add .gitignore: 숨겨야 할 파일이나 폴더 지정
-
Add license: 프로젝트의 사용 범위 및 오픈소스 라이선스 설정
⚠ 참고: GitHub의 Private(비공개) 저장소는 일부 기능이 유료일 수 있음
🙅 .gitignore란?
.gitignore는 Git이 추적하지 않을 파일 목록을 적는 파일이다.
예를 들어, 이클립스나 VS코드에서 생성되는 설정파일, 빌드 결과물 등은 버전 관리를 할 필요가 없다. 이런 파일들을 .gitignore에 등록하면 Git이 무시하게 된다.
예시 사이트: gitignore.io
이 사이트에서 언어, 프레임워크에 맞게 .gitignore를 자동 생성할 수 있다.
📜 License는 왜 필요할까?
라이선스는 내 프로젝트를 누가, 어떤 조건으로 쓸 수 있는지를 정하는 약속이다. 오픈소스 생태계에서 매우 중요한 부분이다.
🌿 GitHub 잔디 심기의 의미
GitHub의 커밋 내역은 잔디처럼 표시된다. 이 잔디가 한 달에 한 번 심어진다면, 꾸준함을 증명할 수 없다.
꾸준히 커밋을 올리는 습관을 들여야, 실제 코딩 능력도 늘고, 채용 시에도 좋은 인상을 줄 수 있다.
⚠ 협업 시 주의사항
-
로컬 저장소와 원격 저장소는 항상 동기화 상태를 유지해야 한다.
-
원격 저장소의 변경 사항을 무시하고 푸시하면 충돌 발생
-
그래서 먼저 fetch → merge 후, push하는 흐름을 지켜야 한다.
💡 실습 도구 추천
-
이클립스는 Git 플러그인이 잘 되어 있어 연동 쉬움
-
인텔리제이 커뮤니티 버전은 Git 연동, 자동완성 등 기능 제한 → 비추천
🧠 마무리 요약
| 명령어 | 기능 |
|---|---|
git add |
스테이징 영역에 올림 |
git commit |
로컬 저장소에 저장 |
git push |
원격 저장소에 업로드 |
git fetch |
원격 → 로컬로 다운로드 |
git merge |
로컬 저장소와 작업 디렉토리 합치기 |
git pull |
fetch + merge를 한 번에 실행 |
📌 마지막 팁
-
깃허브에 프로젝트 파일 + PDF + PPT 같이 올려야 한다.
-
브랜치 관리는 팀 프로젝트에서 핵심이다.
main브랜치를 기준으로 어떻게 브랜치를 나누고, 병합할지 전략을 짜는 연습도 필요하다. -
과거
master라는 브랜치명을 썼지만, 지금은main을 기본으로 사용한다. 용어의 혼란을 줄이기 위해 바뀐 것이다.
깃크라켄이나 소스트리라는게 있다 처음듣는데?
일단 아이디에서 익히는것부터 하자
앞으로 가야할길이 길고 익혀야하는것도 많다
내가 처음접하는 기술들을 8시간하고 다 기억해는 말이 안된다
저도 따로 찾아보고 하니 내게도니다
이건 무조건 알아야된다 하는부분이 분명히 있다
io는 여러분꺼로 만들어라
댓글
댓글 쓰기