Git 및 리눅스 기본 명령어 실습 가이드

리눅스 기초 명령어

  • mkdir 폴더이름: 새 디렉터리 생성
  • rm 파일이름: 특정 파일 삭제 (파일만 가능)
  • rm -rf 폴더이름: 디렉터리와 그 안의 모든 내용 삭제
  • ls: 현재 경로 내 모든 항목 목록 출력
  • cd test: test 디렉터리로 이동
  • cd ../: 상위 디렉터리로 돌아가기
  • cat a.txt: 지정한 파일의 내용 확인
  • Tab 키: 경로 자동 완성 기능 사용
  • clear: 터미널 화면 초기화
  • ↑/↓ 방향키: 최근 실행한 명령어 기록 탐색
  • touch 파일명: 빈 파일 생성

Vim 에디터 활용법

Vim은 터미널 기반 텍스트 편집기로, GUI 툴과는 다른 조작 방식을 가짐.

  1. 터미널에서 vim 파일명 입력하여 열기
  2. i 키를 눌러 삽입 모드 전환
  3. 내용 수정 수행
  4. Esc:wq 입력 → 저장 후 종료 (w: 저장, q: 종료)
  5. Esc:q! 입력 → 저장하지 않고 강제 종료

Git 초기 설정

최초 사용 시 개발자 정보 등록 필요:

# 사용자 이름 설정
git config --global user.name "홍길동"

# 이메일 주소 설정
git config --global user.email "hong@example.com"
  • 공백 포함 여부에 유의할 것
  • 한 번만 설정하면 됨. 오류 시 재실행으로 수정 가능
  • git config -l로 설정 확인 가능 (스크롤 시 q로 종료)
  • 경로와 무관하게 어디서든 실행 가능

Git 핵심 작업 흐름

  1. 새 프로젝트 폴더 생성 후 진입
  2. 해당 위치에서 Git Bash Here 선택
  3. 저장소 초기화: git init (프로젝트 당 1회)
  4. 예: index.html 파일 작성
  5. 변경 사항 스테이징 영역에 추가: git add index.html
  6. 커밋하여 버전 기록: git commit -m "기능 추가 완료"

버전 관리 세 구역

  • 워킹 디렉터리: 실제 코드를 수정하는 공간. 변경된 파일은 git status에서 빨간색으로 표시됨
  • 스테이징 영역: 커밋 전 일시 보관 공간. git add 실행 후 파일은 초록색으로 나타남
  • 로컬 저장소: 최종 저장된 버전들이 위치. git commit 후에는 상태 확인 시 표시되지 않음

주요 명령어 요약

명령어 설명
git init 로컬 저장소 초기화 (단 한 번)
git status 현재 변경 상태 확인
git add . 모든 변경 사항을 스테이징 영역에 추가
git commit -m "메시지" 스태시된 내용을 커밋하고 설명 추가

변경 내용 비교

git diff

워킹 디렉터리와 스테이징 영역 간 차이점을 확인. 새로 생성된 파일은 제외됨.

git diff

+ 기호 또는 녹색 줄은 워킹 디렉터리에만 존재하는 추가 내용을 의미함.

git diff --cached

스테이징 영역과 마지막 커밋 간의 차이점을 분석.

git diff --cached

녹색 부분은 커밋 대기 중인 변경 내용임.

버전 되돌리기

히스토리 조회

git log           # 전체 커밋 기록
git log --oneline # 간략한 형식
git reflog        # 모든 HEAD 이동 기록

출력이 길 경우 방향키로 스크롤하며 q로 종료.

리셋 작업

  • 직전 버전으로 이동: git reset --hard HEAD^
  • n 단계 전으로 복귀: git reset --hard HEAD~n
  • 특정 커밋으로 이동 (가장 일반적):
    git reset --hard a1b2c3d
    전체 해시 또는 앞 7자리 해시 값으로도 가능.

취소 작업

  • 스테이징 취소 (스테이징 → 워킹):
    git reset HEAD 파일명
  • 수정 전 상태로 복구 (로컬 커밋 덮어쓰기):
    git checkout -- 파일명

브랜치 관리

독립적인 개발 라인을 생성하여 동시에 여러 기능 개발 가능.

명령어 기능
git branch feature/login 새 브랜치 생성
git branch 모든 브랜치 목록 보기
git checkout develop 다른 브랜치로 전환
git merge feature/login 특정 브랜치 내용 병합
git branch -d docs/update 완료된 브랜치 삭제
git checkout -b hotfix/crash 새 브랜치 생성과 동시에 전환

주의: 브랜치 전환 전 반드시 모든 변경 사항을 커밋 처리해야 함.

.gitignore 설정

버전 관리에서 제외할 파일들을 정의. 프로젝트 루트에 .gitignore 파일 생성.

관리 대상 예시:

  • 임시 파일 (.swp, .tmp)
  • 로그 파일 (*.log)
  • 미디어 파일 (영상, 음성)
  • 빌드 산출물 (exe, out)
  • IDE 설정 폴더 (.idea, .vscode)
  • 의존성 모듈 (node_modules)

예시 설정:

# VS Code 설정 무시
.vscode/

# 모든 임시 파일 제외
*.tmp

# node_modules 전체 폴더 무시
node_modules/

# 로그 파일 필터링
*.log

태그: Git linux version-control command-line vim

6월 10일 21:45에 게시됨