
Git은 컴퓨터의 변경사항을 추적하고 버전을 관리하기 위한 도구로, 여러 사용자 간의 파일 작업을 조율하는 분산 버전 관리 시스템이다. GitHub는 이 Git 저장소를 지원하는 오픈소스 웹 서비스이다.

| 명령어 | 설명 |
|---|---|
git init | 로컬 디렉토리에 Working Directory 생성 |
git remote | 원격 저장소 연결 및 관리 |
git add | 파일을 Staged 상태로 변경 |
git commit | Stage의 변경사항을 History에 저장 |
git push | 변경사항을 원격 저장소에 업로드 |
git clone | 원격 저장소를 로컬에 복제 (자동으로 .git 생성, init 불필요) |
git pull | 원격 저장소의 최신 내용을 로컬로 가져와 병합 |
git log | 커밋 기록 확인 |
git diff | 파일 변경사항 확인 |
git stash | 변경사항 임시 저장 |
git restore | 커밋되지 않은 변경사항을 마지막 상태로 되돌림 |
git revert | 이미 push된 특정 커밋을 취소 (히스토리 보존) |
git reset | 특정 커밋 상태로 완전히 되돌림 |
💡
git push전에git pull을 먼저 하는 습관을 들이자.
💡git add .은 현재 위치 하위의 모든 파일을 staging하므로 보안 파일이 포함되지 않도록 주의.

git push -u origin main의-u는--set-upstream의 약자로, 로컬 브랜치와 원격 브랜치를 추적 관계로 연결한다.

Harness Engineering : 단순 프롬프트 엔지니어링을 넘어, AI 모델을 직접 제어하고 행동 제약을 설정하며 개선 순환을 포함하는 시스템 설계 방식. Context Injection, 할루시네이션 방지 가이드라인, Feedback Loop의 세 요소로 구성된다.
생각의 사슬 / 생각의 나무 (Chain/Tree of Thought) : AI가 문제를 단계적으로 분석하고 추론할 수 있도록 프롬프트에 단계적 지시를 내리는 프롬프트 엔지니어링 기법
절차지향 vs 객체지향
자식 클래스가 부모 클래스의 필드와 메서드를 물려받아 재사용 및 확장할 수 있는 기능. 객체지향 4대 원칙 중 하나.
~is a 관계가 성립해야 함 (자식은 부모다)