리눅스 기초 명령어
- mkdir 폴더이름: 새 디렉터리 생성
- rm 파일이름: 특정 파일 삭제 (파일만 가능)
- rm -rf 폴더이름: 디렉터리와 그 안의 모든 내용 삭제
- ls: 현재 경로 내 모든 항목 목록 출력
- cd test: test 디렉터리로 이동
- cd ../: 상위 디렉터리로 돌아가기
- cat a.txt: 지정한 파일의 내용 확인
- Tab 키: 경로 자동 완성 기능 사용
- clear: 터미널 화면 초기화
- ↑/↓ 방향키: 최근 실행한 명령어 기록 탐색
- touch 파일명: 빈 파일 생성
Vim 에디터 활용법
Vim은 터미널 기반 텍스트 편집기로, GUI 툴과는 다른 조작 방식을 가짐.
- 터미널에서
vim 파일명입력하여 열기 - i 키를 눌러 삽입 모드 전환
- 내용 수정 수행
- Esc 후
:wq입력 → 저장 후 종료 (w: 저장, q: 종료) - Esc 후
:q!입력 → 저장하지 않고 강제 종료
Git 초기 설정
최초 사용 시 개발자 정보 등록 필요:
# 사용자 이름 설정
git config --global user.name "홍길동"
# 이메일 주소 설정
git config --global user.email "hong@example.com"
- 공백 포함 여부에 유의할 것
- 한 번만 설정하면 됨. 오류 시 재실행으로 수정 가능
git config -l로 설정 확인 가능 (스크롤 시 q로 종료)- 경로와 무관하게 어디서든 실행 가능
Git 핵심 작업 흐름
- 새 프로젝트 폴더 생성 후 진입
- 해당 위치에서 Git Bash Here 선택
- 저장소 초기화:
git init(프로젝트 당 1회) - 예:
index.html파일 작성 - 변경 사항 스테이징 영역에 추가:
git add index.html - 커밋하여 버전 기록:
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 - 특정 커밋으로 이동 (가장 일반적):
전체 해시 또는 앞 7자리 해시 값으로도 가능.git reset --hard a1b2c3d
취소 작업
- 스테이징 취소 (스테이징 → 워킹):
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