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은 충돌이 발생할 위험이 커서 초보자는 사용을 자제하고, fetchmerge를 분리해서 사용하는 걸 권장한다.


📌 GitHub에서 레포지터리 만드는 법

  1. Repository name: 저장소 이름

  2. Choose visibility: 공개(public) / 비공개(private) 선택

  3. Add README: 프로젝트 설명용 파일 생성

  4. Add .gitignore: 숨겨야 할 파일이나 폴더 지정

  5. 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는 여러분꺼로 만들어라

댓글

가장 많이 본 글