[250520화824H] Git & GitHub (1)

윤승호·2025년 5월 20일

이럴수가. 파이썬을 처음부터 다시 배우는 느낌이다.

학습시간 09:00~02:00(당일17H/누적824H)


◆ 학습내용

1. GLI

(1) CLI?

  • Command Line Interface의 줄임말
  • 사용자가 텍스트 명령어를 직접 입력해서 컴퓨터와 상호작용하는 방식
  • 마우스 클릭 없이, 키보드만으로 컴퓨터를 조작함
  • GUI(Graphical User Interface)보다 유연함

(2) GUI와의 차이

구분CLIGUI
방식텍스트 명령어 입력마우스 클릭과 시각적 조작
유연성높음 (복잡한 작업도 가능)제한적일 수 있음
속도빠름 (익숙해지면)느릴 수 있음
학습 난이도처음엔 어렵지만 강력함직관적이지만 한계 존재

서버 설정, Git 조작, 배포 환경 구성 등은 대부분 CLI 기반이므로 개발자에게 필수 도구임

운영체제터미널 종류특징
WindowsGit Bash (추천)Git 설치 시 함께 제공됨
MacTerminal기본 설치됨, 바로 사용 가능
LinuxShell (bash 등)기본 터미널, 대부분 CLI 작업의 중심

(3) 주 명령어

디렉토리 이동 및 확인

명령어설명
pwd현재 경로 출력
ls현재 디렉토리 내용 목록
cd 경로다른 폴더로 이동
$ pwd
$ ls
$ cd dev/project

디렉토리 & 파일 관리

명령어설명
mkdir 폴더명새 폴더 생성
touch 파일명새 파일 생성
mv 원본 대상파일 이동 또는 이름 변경
cp 원본 대상파일 복사
$ mkdir myproject
$ touch README.md
$ mv README.md docs/
$ cp docs/README.md ./

출력 관련 명령어

명령어설명
echo "내용"텍스트 출력
cat 파일명텍스트 파일 내용 출력
$ echo "Hello, CLI!"
$ cat README.md

2. Git

(1) Git?

  • 코드의 변경 이력을 기록하고 관리하는 버전 관리 시스템
  • 프로젝트를 하다 보면 실수하거나, 예전 버전으로 돌아가고 싶을 때가 있음
  • Git은 코드를 시점별로 스냅샷처럼 저장해두는 역할

(2) 특징 & 장점

  • 로컬에서 동작함
  • 분산형 버전관리: 인터넷 없이도 기록 관리 가능
  • 과거로 돌아갈 수 있다: 버전별로 관리되므로 복구 가능
  • 팀 작업에서 충돌 방지: 누가 어떤 변경을 했는지 명확히 알 수 있음
  • 코드 실험도 가능: branch로 여러 시도 후 합칠 수 있음

(3) 작업 영역

영역설명
Working Directory실제 파일을 수정하는 공간
Staging Area커밋하기 전에 잠깐 저장해두는 준비 공간
Repository커밋으로 기록된 버전들이 저장되는 공간

작업 → 수정 → staging → commit → 기록

Repository는 GitHub, GitLab, Bitbucket 등 존재

(4) 주 명령어

명령어설명
git initGit 저장소 만들기 (처음 한 번)
git status현재 상태 확인 (무슨 파일이 변경됐는지 등)
git add 파일명Staging Area로 추가
git add .모든 변경 파일 추가
git commit -m "메시지"변경 사항을 기록함 (스냅샷 저장)
git log지금까지 커밋한 기록 보기

3. GitHub

(1) GitHub?

  • Git 저장소를 인터넷에 올려서 공유/협업할 수 있게 해주는 플랫폼
  • Git은 로컬(내 컴퓨터)에서 동작하고, GitHub는 원격(remote) 저장소 역할을 함

Git = 버전관리 툴
GitHub = Git 저장소를 저장하고 협업하는 온라인 공간

(2) 필요한 이유

  • 팀원과 코드 공유
  • 버전 이력 확인 및 롤백
  • 다른 사람 프로젝트 구경 & 포크(fork)
  • 오픈소스 기여 (PR, 이슈 등록)

(3) 기본 구조

구성 요소설명
Repository프로젝트 하나를 담는 공간 (폴더 느낌)
Commit코드 변경 이력
Branch작업 분기선 (새 기능 실험 등)
Pull Request변경 내용을 합쳐달라고 요청하는 기능
Issue버그나 작업 요청 등을 기록하는 게시판

(4) 준비

  1. GitHub 회원가입: https://github.com/
  2. Git 설치: GitHub랑 Git은 세트니까 Git도 설치
  3. 사용자 설정
# bash
git config --global user.name "이름"
git config --global user.email "이메일"

(5) 기본 흐름

단계설명
1. GitHub에서 repo 생성New Repository 클릭
2. 내 PC에서 git init로컬에 Git 저장소 초기화
3. git remote add origin 주소GitHub와 연결
4. git add .git commit변경사항 로컬에 저장
5. git push -u origin mainGitHub에 업로드

(6) 주 명령어

# bash
$ git init
$ git remote add origin https://github.com/사용자명/hello-github.git
$ touch README.md
$ git add .
$ git commit -m "first commit"
$ git push -u origin main

4. 연습

# 1. 폴더 만들고 이동
mkdir practice-github
cd practice-github

# 2. Git 저장소 초기화
git init

# 3. 파일 생성 (README.md)
echo "# Hello" > README.md

# 4. 내용 확인 (선택)
cat README.md

# 5. Git에 파일 등록 (Staging)
git add README.md

# 6. 변경 내용 기록 (Commit)
git commit -m "add: create README.md"

# 7. GitHub 저장소 연결 (처음 주소)
git remote add origin https://github.com/계정명/저장소명.git

# 저장소 이름이 다른 경우 → 주소 수정
git remote set-url origin https://github.com/계정명/저장소명.git

# 8. GitHub에 업로드 (Push)
git push -u origin master
profile
나는 AI 엔지니어가 된다.

0개의 댓글