카테고리 없음

[유레카 / 백엔드] TIL - 4 (GIT & GITHUB)

coding-quokka101 2025. 9. 26. 15:32

 

출처: 깃허브 필수적인 커밋 방법, 협업에 필요한 깃허브 사용법 , 강의영상 (new repo, commit, pull request, fork etc...)

🖥️ Git & GitHub 설치, (PR) 가이드

개발을 하다 보면 개인 프로젝트뿐 아니라 팀 프로젝트, 오픈소스 참여 등 협업 상황을 반드시 경험하게 됩니다. 그 중심에 있는 도구가 바로 GitGitHub입니다.
이번 글에서는 Git 설치부터 GitHub 계정 연동, 저장소 클론, 그리고 **협업을 위한 Fork와 Pull Request(PR)**까지 한 번에 정리해 보겠습니다.


1️⃣ Git 설치하기

Git은 오픈소스 버전 관리 도구로, 소스코드의 변경 이력을 추적하고 여러 명이 동시에 개발할 수 있게 해줍니다.
설치 과정은 간단하지만, 이후 연동 과정에서 자주 막히는 경우가 많으므로 꼼꼼히 따라 해보세요.

 

  • 다운로드 링크: https://git-scm.com/downloads
  • OS별 설치 방법
    • Windows → 설치 마법사 진행 (기본 옵션 그대로 Next 추천)
    • macOS → brew install git
    • Linux(Ubuntu) → sudo apt-get install git

 

 

 

 

둘 중 하나 골라서 설치, 만약 왼쪽 windows를 눌렀다면 체크 박스 안에 있는 Click here to download 를 누르세요.

누르면 이런 식으로 설치가 되고 파일을 열어 구축환경을 만들면 됩니

 

만약 제대로 설치가 됐다면 win + r 을 눌러 실행창에 cmd를 입력해 획인을 누릅니다 그러면 cmd(명령 프롬프트)창이 뜨는데 버전 확인을 해주면 됩니다.

 

 

 

 

 

 

👉 설치 완료 후 버전 확인:

git --version

 


2️⃣ GitHub 계정 생성 & 데스크탑 설치 & Git 연동

  1. GitHub 접속 후 회원가입: https://github.com/
  2. GitHub Desktop 설치GitHub Desktop | Simple collaboration from your desktop

 

 

3. Git Bash를 윈도우에서 검색하여 창을 띄우면 아래 창과 같이 뜹니다.

Git Bash

Git Bash에 사용자 정보 등록:

입력

git config --global user.name "내 닉네임"
git config --global user.email "내 이메일"
git config --list

 

 

- 정상적으로 정보등록이 됐는지 확인하기 위해서 git config --list를 입력합니다 그러면 여러 정보들이 뜨는데 그냥 맨 아래로 내리시면 입력한 자신의 아이디와 이메일이 아래 사진과 같이 출력되는 것을 확인 할 수 있습니다.

 

4.  SSH 키 생성 및 등록:

ssh-keygen -t rsa -b 4096 -C "내 이메일"
cat ~/.ssh/id_rsa.pub

→ 생성된 키를 GitHub → Settings → SSH and GPG keys에 등록하면 완료!

 

5. 소스트리(SourceTree)는 Git GUI를 사용하는 것 입니다. 보통 깃을 처음 접하시는 분들께 추천합니다

다운로드 중 login하라는 문구가 뜨기 때문에 홈페이지로 돌아가서 Bitbucket 계정을 생성하면 된다. 즉 회원가입

장점 

  1. 브랜치 한눈에 보기 → 복잡한 Git 히스토리를 트리 구조로 시각화.
  2. 충돌 해결 편리 → 어떤 파일이 충돌났는지 쉽게 확인 & 수정 가능.
  3. 명령어 몰라도 됨 → 버튼 클릭으로 commit, push, pull 가능.
  4. 부분 커밋 가능 → 파일 일부만 골라서 커밋할 수 있음.
  5. 여러 Git 서비스 연동 → GitHub, GitLab, Bitbucket 등 쉽게 연결.
  6. Git Flow 지원 → 협업용 브랜치 전략 자동화.

👉 정리: 소스트리는 Git을 직관적으로 다룰 수 있게 해주는 무료 GUI 도구라서, 초보자와 협업할 때 특히 유용하다!

설치 URL : Sourcetree | Free Git GUI for Mac and Windows

 

Sourcetree | Free Git GUI for Mac and Windows

A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.

www.sourcetreeapp.com

Souse Tree 설치

 


3️⃣ 저장소 생성 & 클론하기

  1. GitHub에서 새 저장소 생성 (New Repository 버튼 클릭)
    • 이름 입력 → Public/Private 선택 → README 여부 체크

 

제목, 공개여부 등 입력

2. 로컬에 클론:  

git clone git@github.com:내아이디/내저장소.git

3. 코드 작성 후 업로드:

git add . git commit -m "첫 커밋" git push origin main

4️⃣ 협업할 때 꼭 알아야 할 Fork & Pull Request

개인 프로젝트와 달리, 팀 프로젝트나 오픈소스에 참여할 때는 직접 원본 저장소에 푸시(push)할 수 없습니다. 이때 사용하는 방식이 **Fork + Pull Request(PR)**입니다.

📌 Fork란?

다른 사람의 저장소를 내 계정으로 "복사"해오는 기능.
이후 내 저장소에서 자유롭게 수정할 수 있고, 수정한 내용을 원본 저장소에 제안할 수 있습니다.

우측 상단에 있음

📌 VS Code로 수정하기

  1. Fork 한 저장소를 클론:
git clone git@github.com:내아이디/원본저장소이름.git
  1. VS Code에서 코드 수정
    • 파일 열기 → 수정 → 저장
  2. 수정 후 커밋 & 푸시:
git add .
git commit -m "버그 수정: 로그인 에러 해결" 
git push origin main

📌 Pull Request(PR) 올리기

  1. GitHub 내 저장소 페이지에서 Pull Request 클릭
  2. 변경된 내용을 설명하고, 원본 저장소로 PR 제출
  3. 저장소 관리자가 리뷰 후 병합(Merge)

 

📌 Git 명령어 정리

 

키워드 명령어 설명
환경 설정 git config --global user.name "이름" 사용자 이름 설정
     
  git config --global user.email "메일주소" 사용자 이메일 설정
  git config --list 현재 Git 설정 확인
저장소 초기화 git init 로컬 저장소 초기화
  git clone <URL> 원격 저장소 복제
변경 관리 git status 변경사항 확인
  git add <파일> 특정 파일 스테이징
  git add . 모든 변경 파일 스테이징
  git commit -m "메시지" 커밋 생성
  git log --oneline --graph --all 로그 간단히 보기
브랜치 git branch 브랜치 목록 보기
  git branch <브랜치명> 새 브랜치 생성
  git checkout <브랜치명> 브랜치 이동
  git checkout -b <브랜치명> 브랜치 생성 + 이동
  git switch <브랜치명> 브랜치 이동 (신규 명령어)
  git switch -c <브랜치명> 브랜치 생성 + 이동
  git branch -d <브랜치명> 브랜치 삭제 (병합된 경우)
  git branch -D <브랜치명> 강제 브랜치 삭제
원격 저장소 git remote -v 원격 저장소 확인
  git remote add <이름> <URL> 원격 저장소 추가
  git remote remove <이름> 원격 저장소 삭제
동기화 git fetch <원격> 원격 변경 가져오기 (병합X)
  git pull <원격> <브랜치> 원격 변경 가져오기 (병합O)
  git push <원격> <브랜치> 로컬 커밋 원격으로 업로드
  git push -u <원격> <브랜치> 업스트림 설정 후 푸시
병합 & 리베이스 git merge <브랜치> 다른 브랜치 병합
  git rebase <브랜치> 커밋 히스토리 정리하며 병합
  git cherry-pick <커밋ID> 특정 커밋만 적용
작업 되돌리기 git restore <파일> 변경 취소 (스테이징 전)
  git reset <파일> 스테이징 취소
  git reset --hard <커밋> 해당 커밋으로 강제 되돌리기
  git revert <커밋> 커밋 되돌리기 (새 커밋 생성)
태그 git tag <태그명> 특정 커밋에 태그 붙이기
  git push origin <태그명> 태그 원격 푸시
협업 (PR 관련) git checkout -b feature/기능명 기능 개발용 브랜치 생성
  git push origin feature/기능명 내 브랜치 원격에 푸시
  → GitHub에서 Pull Request 생성 원본에 반영 요청

5️⃣ 오늘의 성취 (회고)

오늘은 Git과 GitHub의 기초뿐 아니라 협업에서 가장 중요한 Fork & PR까지 정리했습니다.
특히 SSH 키 등록PR 올리기 과정을 직접 실습하면서 GitHub 협업의 핵심을 이해한 것이 가장 뿌듯합니다.


6️⃣ 어려웠던 점 & 개선

  • SSH 키를 등록하지 않고 HTTPS로 접근하려다 인증 문제가 발생 → SSH로 해결 ✅
  • PR 메시지를 어떻게 작성해야 할지 막막했음 → 앞으로는 커밋 메시지와 동일하게 짧고 명확하게 쓰는 습관 필요

7️⃣ 오늘 배운 것 (학습 정리)

  • Git은 버전 관리 도구, GitHub은 협업 플랫폼이라는 차이
  • SSH 키 등록의 중요성 (매번 비밀번호 입력 없이 보안성↑ 편의성↑)
  • 협업 시 Fork & Pull Request가 필수적인 이유

8️⃣ 좋았던 점 & 아쉬운 점

  • 👍 직접 해보니 **협업 흐름(Fork → 수정 → PR)**이 잘 이해됨
  • 👎 아직 CI/CD 같은 GitHub Actions는 잘 활용 못함 → 추후 학습 예정

🌟 팁 & 복습 루틴
저장소를 여러 개 다룰 때는 SSH Key를 프로젝트별로 분리하면 충돌 방지 가능
커밋 메시지는 영어보다 한국어/영어 병행 작성 → 협업 시 가독성↑
매일 10분이라도 git log, git status 명령어를 확인하며 상태 파악 습관 들이기