git 10

[Git] 커밋 히스토리 정리와 작업 복구 | reflog, rebase, stash, cherry-pick

Git을 사용하다 보면 단순히 커밋하고 push하는 것보다, 이미 만든 커밋을 정리하거나 작업 내용을 복구해야 하는 상황이 더 어렵게 느껴진다.이번에는 reset 이후 커밋을 다시 찾는 방법, 여러 커밋을 하나로 합치는 방법, rebase로 히스토리를 정리하는 과정, stash와 cherry-pick 활용법을 묶어서 정리해봤다.reset의 세 가지 옵션과 merge의 기본 동작은 이전 글에서 다뤘기 때문에, 이번 글에서는 실제로 언제 사용하는지를 중심으로 정리했다.reset 후 커밋이 사라진 것처럼 보일 때예를 들어 아래처럼 네 개의 커밋이 있다고 하자.A --- B --- C --- D ↑ HEAD 여기서 B로 reset하면 일반적인 커밋 기록..

카테고리 없음 2026.07.16

[Git] 원격 저장소 협업 명령어 정리 | push, pull, fetch, blame, revert

Git으로 혼자 작업할 때는 커밋한 내용을 push하는 정도로 끝나는 경우가 많다.하지만 여러 사람이 같은 저장소를 사용하면 내가 작업하는 동안 원격 저장소의 내용이 달라질 수 있다. 이때는 로컬과 원격 저장소의 관계를 확인하면서 변경사항을 가져오고, 필요한 경우 커밋을 취소해야 한다.이번에는 원격 저장소와 협업할 때 자주 사용하는 push, pull, fetch, blame, revert를 정리해봤다.로컬 저장소와 원격 저장소로컬 저장소는 내 컴퓨터에 있는 Git 저장소이고, 원격 저장소는 GitHub처럼 여러 사람이 공유할 수 있는 저장소다.Local Repository ↓ git pushRemote RepositoryLocal Repository ↑ git pullRemot..

AI & 개발/개발 2026.07.16

[AI 프로젝트] Job Fit AI Agent 시작하기 | 기획부터 GitHub 세팅까지

AI 엔지니어 채용공고에 지원하기 전, 직접 만든 AI 프로젝트가 하나는 필요하다고 판단했다.처음에는 뉴스 제목을 정치, 경제, 사회, IT과학 등으로 분류하는 프로젝트를 생각했다.하지만 한국어 NLP 입문 예제로 많이 사용되는 주제라서 내가 왜 이 프로젝트를 선택했는지 설명하기가 애매했다.그래서 채용 준비 과정에서 실제로 사용해볼 수 있는 Job Fit AI Agent로 방향을 바꿨다.이번 글에서는 프로젝트 방향을 정한 과정과 GitHub 기본 구조를 만드는 과정에서 겪은 시행착오를 정리해봤다.뉴스 분류에서 채용공고 분석으로처음 계획한 뉴스 토픽 분류의 구조는 단순했다.뉴스 제목 입력↓정치 / 경제 / 사회 / IT과학 등으로 분류 NLP 모델을 연습하기에는 괜찮지만, 내가 지원하려는 AI 엔지니어 직..

AI & 개발/AI 2026.07.07

[Git] HEAD와 reset, checkout, merge 동작 원리 정리

HEAD란?Git에서 HEAD는 현재 내가 작업하고 있는 위치를 나타낸다.보통 HEAD는 커밋을 직접 가리키는 것이 아니라, 현재 체크아웃된 브랜치를 가리킨다.예를 들어 현재 master 브랜치에서 작업 중이라면 아래처럼 이해할 수 있다.HEAD → master → 최신 커밋 즉, HEAD는 master 브랜치를 가리키고, master 브랜치는 실제 최신 커밋을 가리키는 구조다.브랜치와 HEAD의 관계브랜치는 특정 커밋을 가리키는 포인터다.예를 들어 master 브랜치가 C 커밋을 가리키고 있다면 아래처럼 볼 수 있다.A --- B --- C ↑ master 현재 master 브랜치에서 작업 중이라면 HEAD는 master를 가리킨다.A --- B --- C ..

AI & 개발/개발 2026.07.06

[Git] 브랜치 기본 명령어와 Merge Conflict 해결 방법 정리

Branch란?브랜치(Branch)는 하나의 프로젝트에서 서로 다른 코드 흐름을 나누어 관리하는 기능이다.기존 코드는 그대로 유지하면서 새로운 기능을 개발하거나, 무료 버전과 유료 버전처럼 서로 다른 버전을 따로 관리할 때 사용할 수 있다.예를 들어 기본 기능은 master 브랜치에서 관리하고, 유료 기능은 premium 브랜치에서 따로 개발할 수 있다.master └─ 기본 코드 흐름premium └─ 유료 기능 개발 강의에서는 기본 브랜치 이름으로 master를 사용했지만, 요즘 GitHub에서는 main을 기본 브랜치로 사용하는 경우도 많다.브랜치 조회현재 저장소에 있는 브랜치 목록을 확인할 때는 아래 명령어를 사용한다. git branch 현재 내가 위치한 브랜치 앞에는 * 표시가 붙는다.예를 들..

AI & 개발/개발 2026.07.06

[Git] 기본 브랜치가 master에서 main으로 바뀐 이유

기본 브랜치 이름 변경과거에는 Git 저장소를 만들면 기본 브랜치 이름으로 master를 주로 사용했다. 이후 GitHub는 새로 생성하는 저장소의 기본 브랜치 이름을 main으로 변경했다.기존 기본 브랜치: master현재 주로 사용하는 기본 브랜치: main 기존 저장소의 master 브랜치가 자동으로 바뀌는 것은 아니며, 필요할 때 직접 이름을 변경할 수 있다.브랜치 이름 변경하기 git branch -M main 현재 브랜치 이름을 main으로 변경한다.처음 원격 저장소에 올릴 때는 다음과 같이 사용한다. git push -u origin main 핵심 정리master와 main은 기능상 차이가 없다. 둘 다 기본 브랜치에 붙인 이름일 뿐이다. 최근 GitHub에서 생성하는 저장소는 주로 main..

AI & 개발/개발 2026.07.03

[Git] Git 기본 개념과 명령어 총정리: add, commit, push, reset까지

Git을 공부하면서 처음에는 명령어를 외우는 데 집중했는데,명령어보다 먼저 이해해야 하는 것은 Git이 파일을 어떤 방식으로 관리하는지였다.이번 글에서는 커밋과 레포지토리의 개념부터 git add, git commit, git push, git reset까지 공부한 내용을 한 번에 정리해봤다.커밋과 레포지토리커밋(Commit)커밋은 프로젝트의 변경 사항을 하나의 기록으로 저장하는 작업 또는 그 결과물을 말한다.언제 어떤 내용을 수정했는지 이력을 남길 수 있어서 이전 상태로 돌아가거나 변경 내용을 추적할 때 사용한다.커밋에는 다음과 같은 정보가 포함된다.커밋을 작성한 사용자커밋한 날짜와 시간변경된 파일과 내용커밋 메시지사용자와 날짜는 Git이 자동으로 기록하지만, 커밋 메시지는 직접 작성해야 한다.레포지토..

AI & 개발/개발 2026.07.03

[Git] 커밋 메시지 작성법: 좋은 커밋을 만드는 가이드라인 정리

Git에서 커밋은 단순히 파일을 저장하는 작업이 아니다.프로젝트가 어떤 과정을 거쳐 변경되었는지를 기록하는 하나의 버전이다.커밋에는 다음과 같은 정보가 포함된다.커밋을 작성한 사용자커밋한 날짜와 시간변경된 파일과 내용커밋 메시지사용자와 시간은 Git이 자동으로 기록하지만, 커밋 메시지는 직접 작성해야 한다.따라서 프로젝트의 변경 이력을 쉽게 파악하려면 커밋 메시지를 구체적이고 일관된 방식으로 작성하는 것이 중요하다.커밋 메시지가 중요한 이유개인 프로젝트에서는 간단하게 작성해도 큰 문제가 없을 수 있다.하지만 시간이 지난 뒤 코드를 다시 확인하거나 여러 명이 함께 작업할 때는 커밋 메시지가 중요한 역할을 한다.좋은 커밋 메시지는 다음과 같은 질문에 답할 수 있어야 한다.어떤 내용을 변경했는가?왜 변경했는가..

AI & 개발/개발 2026.07.03

[Markdown] 문법 총정리 | GitHub에서 가장 많이 사용하는 마크다운 문법

Markdown은 복잡한 편집 도구 없이도 제목, 목록, 링크, 코드 등을 간단하게 작성할 수 있는 문서 작성 문법이다.GitHub의 README 파일에서 많이 사용하지만, 티스토리와 같은 블로그에서도 글을 구조적으로 작성할 때 활용할 수 있다.1. 제목 작성하기제목 앞에 #을 붙이면 제목을 만들 수 있다.#의 개수가 많아질수록 하위 제목이 된다. # 제목 1## 제목 2### 제목 3#### 제목 4 보통 블로그에서는 다음과 같이 사용하면 된다. ## 대주제### 소주제 티스토리 글 제목은 별도의 제목 입력란에 작성하므로, 본문에서는 ##부터 사용하는 것도 괜찮다.2. 글자 강조하기별표와 물결표를 사용하면 글자를 강조할 수 있다. **굵은 글씨***기울임 글씨*~~취소선~~***굵은 기울임 글씨*** ..

AI & 개발/개발 2026.07.02