[Git] 커밋 되돌리기 심층 분석: Reset과 Revert의 차이와 실무 전략

개발을 하다 보면 잘못된 코드를 커밋했거나, 이전 버전으로 돌아가야 할 상황이 반드시 발생합니다. 이때 초보자들이 가장 혼란스러워하는 것이 바로 reset과 revert의 차이입니다. 두 명령어 모두 “과거로 돌아간다”는 목적은 같지만, 작동 원리와 사용해야 하는 상황은 완전히 다릅니다. 이 차이를 명확히 이해하지 못하면 협업 중인 동료의 코드를 날려버리는 대형 사고가 발생할 수 있습니다. 1. Git Reset: 시간을 … Read more

[Git] .gitignore 파일 설정 완벽 가이드 (작성법 및 적용 안 될 때 해결책)

Git을 사용할 때 ‘무엇을 추적할 것인가’ 만큼이나 중요한 것이 **’무엇을 추적하지 않을 것인가’**입니다. 프로젝트가 진행될수록 불필요한 파일들이 저장소를 어지럽히거나, 보안상 민감한 정보가 실수로 업로드되는 사고를 방지하기 위해 .gitignore 설정은 필수적입니다. 본 글에서는 .gitignore의 패턴 작성법부터, 이미 추적 중인 파일을 제외하는 고급 트러블슈팅까지 상세히 다룹니다. .gitignore란 무엇인가? .gitignore 파일은 Git이 추적(Track)하지 말아야 할 파일이나 폴더의 목록을 … Read more

[Git] 변경 사항을 저장소에 기록하기: git commit 명령어

git add를 통해 스테이징 영역에 파일들을 준비했다면, 다음 단계는 이 변경 사항들을 **로컬 저장소(Local Repository)**에 영구적으로 기록하는 것입니다. 이 과정을 **커밋(Commit)**이라고 하며, git commit 명령어를 사용합니다. 커밋은 프로젝트의 특정 시점을 사진 찍어 저장하는 **스냅샷(Snapshot)**과 같습니다. 각 커밋은 하나의 독립적인 버전이 되며, 고유한 ID(해시 값)를 부여받아 영구적으로 추적됩니다. ## git commit의 핵심 원칙 git commit 명령어는 … Read more

[Git] Git의 3가지 영역: 작업 디렉터리, 스테이징 영역, 로컬 저장소 완벽 이해

Git이 파일을 관리하는 방식은 다른 버전 관리 시스템과 차별화되는 독특한 구조를 가지고 있습니다. Git을 제대로 이해하기 위해서는 파일이 이동하는 세 가지 핵심 영역을 반드시 알아야 합니다. ## 1. 작업 디렉터리 (Working Directory) ## 2. 스테이징 영역 (Staging Area) ## 3. 로컬 저장소 (Local Repository) ## 파일의 이동 흐름 Git을 이용한 작업 흐름은 이 세 가지 … Read more

[Git] 내 프로젝트에 Git 시작하기: git init 명령어

Git을 설치하고 기본 설정까지 마쳤다면, 이제 실제 내 프로젝트 폴더를 Git으로 관리할 준비가 되었습니다. 어떤 폴더를 Git이 관리하는 ‘저장소(Repository)’로 만드는 첫 번째 단계는 바로 git init 명령어를 사용하는 것입니다. ## git init: 저장소 초기화 init은 ‘initialize(초기화하다)’의 약자입니다. 이 명령어는 현재 폴더에게 “이제부터 너는 단순한 폴더가 아니라 Git 저장소야!”라고 선언하는 역할을 합니다. 1단계: 프로젝트 폴더로 이동 … Read more

[Git] Git 명령어의 모든 것: GUI 대신 터미널을 써야 하는 이유

Git을 사용하는 방법은 크게 두 가지가 있습니다. 마우스로 클릭하며 사용하는 GUI(Graphical User Interface) 도구(예: SourceTree, GitKraken, VS Code 내장 Git 등)와 검은 화면에 직접 명령어를 타이핑하는 CLI(Command Line Interface, 터미널) 방식입니다. 초보자에게는 GUI 도구가 훨씬 직관적이고 쉬워 보이지만, Git을 제대로 배우고 활용하려면 결국 터미널 환경에 익숙해져야 합니다. 그 이유는 무엇일까요? ## 1. Git의 모든 기능을 … Read more

[Git] Git 최초 설정: 사용자 이름과 이메일 등록 (git config)

Git을 설치한 후 가장 먼저 해야 할 일은 사용자 정보를 설정하는 것입니다. Git은 커밋(변경 기록)을 생성할 때마다 이 커밋을 ‘누가’ 만들었는지에 대한 정보를 함께 기록합니다. 이 설정은 협업 시 내가 작업한 내용을 다른 사람들이 식별할 수 있게 해주는 중요한 역할을 하므로 반드시 수행해야 합니다. ## git config 명령어 Git의 모든 환경 설정은 git config 명령어를 … Read more

[Git] Windows에 Git Bash를 이용하여 Git 설치하기

Windows 환경에서 Git을 사용하는 가장 표준적이고 강력한 방법은 Git for Windows를 설치하는 것입니다. 이 패키지를 설치하면 Git Bash라는 리눅스 스타일의 터미널 에뮬레이터가 함께 제공되어, macOS나 Linux 사용자와 동일한 명령어 환경에서 Git을 사용할 수 있습니다. ## 1단계: 설치 파일 다운로드 Git 공식 웹사이트의 Windows용 다운로드 페이지로 이동합니다. 페이지에 접속하면 자신의 Windows 시스템(32bit 또는 64bit)에 맞는 설치 … Read more

[macOS][Git] macOS에 Homebrew를 이용하여 Git 설치하기

macOS에는 기본적으로 Git이 설치되어 있거나, Xcode Command Line Tools의 일부로 설치될 수 있습니다. 하지만 이 버전은 Apple이 관리하는 버전으로, 최신 버전의 Git을 사용하지 못할 수도 있습니다. macOS에서 개발 환경을 관리하는 가장 표준적이고 효율적인 방법은 Homebrew라는 패키지 매니저를 사용하는 것입니다. Homebrew를 사용하면 Git을 포함한 거의 모든 개발 도구를 명령어 한 줄로 간편하게 설치하고 최신 버전으로 관리할 … Read more

[Git] Git과 GitHub는 무엇이 다른가? (로컬과 원격 저장소의 개념)

Git을 처음 접하는 많은 사람이 Git과 GitHub를 동일하거나 서로 대체 가능한 것으로 혼동합니다. 하지만 이 둘은 명확히 다른 개념이며, 현대 개발에서 각기 다른 핵심적인 역할을 수행합니다. 간단히 정의하면, Git은 버전 관리를 수행하는 **소프트웨어(도구)**이며, GitHub는 Git으로 관리하는 프로젝트를 저장하고 공유하는 **웹 서비스(플랫폼)**입니다. ## Git: 로컬 저장소 (The Tool) Git은 이전 글에서 설명했듯이, 내 컴퓨터에 설치하여 사용하는 … Read more