본문 바로가기

전체 글

(34)
[GIT] 브랜치 만들기 (Branch) 이번 포스팅에서는 [브랜치와 병합] 파트의 세부 주제인 브랜치 만들기 (Branch)에 대하여 상세히 알아보겠습니다.1. 브랜치(Branch)의 개념소프트웨어 개발 중에는 기존의 안정적인 소스 코드를 유지하면서, 실험적인 기능 추가나 치명적인 버그 수정을 동시에 진행해야 하는 경우가 발생합니다. 브랜치는 메인 코드 라인에서 분기하여, 원본에 영향을 주지 않는 독립적인 작업 환경을 만들어주는 강력한 도구입니다. 각 브랜치는 마치 브랜치처럼 서로 간섭 없이 개별적인 커밋 히스토리를 쌓아갈 수 있습니다.2. 브랜치 생성 및 관리명령어를 통해 현재 생성된 브랜치 목록을 확인하거나, 새로운 분기를 생성하고 이동할 수 있습니다.# 로컬 및 원격 저장소의 모든 브랜치 목록 확인$ git branch -a# 'feat..
[GIT] 불필요한 파일 무시하기(.gitignore) 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 불필요한 파일 무시하기에 대하여 상세히 알아보겠습니다.1. .gitignore 파일의 역할프로젝트 디렉토리 내에는 빌드 결과물, 의존성 라이브러리 폴더(예: node_modules), IDE 설정 파일, 혹은 데이터베이스 비밀번호가 포함된 환경 변수 파일 등 버전 관리에 포함되어서는 안 되는 파일들이 다수 존재합니다. 이러한 파일들이 실수로 git add되는 것을 방지하기 위해 프로젝트 최상단에 .gitignore 파일을 생성하고 규칙을 명시합니다.2. 작성 규칙 및 예시.gitignore 파일 내에는 정규 표현식과 유사한 패턴을 사용하여 무시할 대상을 지정할 수 있습니다.# 특정 디렉토리 전체를 무시 (후행 슬래시 사용)node_modules/bui..
[GIT] 코드 올리고 내려받기 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 코드 올리고 내려받기에 대하여 상세히 알아보겠습니다.1. 변경 내역 업로드 (push)로컬 저장소에 커밋된 변경 사항들을 원격 저장소로 업로드하여 동기화할 때 git push 명령어를 사용합니다. 이 과정을 통해 다른 팀원들도 나의 작업 결과를 원격 서버에서 확인할 수 있게 됩니다.# 'origin' 원격 저장소의 'main' 브랜치로 로컬의 커밋들을 업로드$ git push origin main# -u 옵션을 사용하여 기본 추적 브랜치로 설정 (이후에는 git push만 입력해도 됨)$ git push -u origin main2. 최신 변경 내역 다운로드 (pull)다른 팀원이 원격 저장소에 새로운 커밋을 업로드했다면, 로컬 환경을 최신 상태로 갱..
[GIT] 원격 저장소(Remote) 연결 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 원격 저장소(Remote) 연결에 대하여 상세히 알아보겠습니다.1. 원격 저장소의 개념로컬 컴퓨터에서 버전을 관리하는 것만으로는 데이터 백업이나 팀원과의 원활한 협업이 불가능합니다. 이를 위해 로컬 저장소를 GitHub, GitLab, Bitbucket과 같은 인터넷상의 호스팅 서비스에 연결해야 하는데, 이 클라우드 공간을 원격 저장소(Remote Repository)라고 칭합니다.2. 원격 저장소 등록 및 관리로컬 저장소에 새로운 원격 저장소 주소를 매핑할 때는 git remote add 명령어를 사용합니다. 관례적으로 메인 원격 저장소의 이름(별칭)은 origin으로 설정합니다.# 'origin'이라는 이름으로 원격 저장소 주소 등록$ git re..
[GIT] 커밋 히스토리 확인하기 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 커밋 히스토리 확인하기에 대하여 상세히 알아보겠습니다.1. 프로젝트 이력 조회 (log)Git의 큰 장점 중 하나는 과거의 변경 이력을 매우 상세하게 조회할 수 있다는 점입니다. git log 명령어를 사용하면 저장소에 기록된 커밋들의 해시값, 작성자, 생성 날짜, 그리고 커밋 메시지를 최신순으로 확인할 수 있습니다.# 상세한 커밋 히스토리 출력 (키보드 화살표로 스크롤, 'q'로 종료)$ git log# 최근 N개의 커밋만 확인$ git log -n 52. 히스토리 포맷 최적화 옵션기본 출력은 정보량이 많아 한눈에 흐름을 파악하기 어려울 수 있습니다. Git은 로그를 간결하게 확인하거나, 브랜치의 분기 상황을 시각적으로 파악할 수 있는 다양한 옵션을..
[GIT] 변경사항 추적 및 저장 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 변경사항 추적 및 저장에 대하여 상세히 알아보겠습니다.1. 준비 영역에 등록하기 (add)작업 공간에서 코드를 수정했다면, 해당 변경 사항을 기록하기 위해 먼저 준비 영역(Staging Area)에 올려야 합니다. 이때 git add 명령어를 사용합니다. 이는 다음 커밋에 포함할 항목들을 세밀하게 선별하는 과정입니다.# 특정 파일 하나만 준비 영역에 추가$ git add index.html# 현재 디렉토리 이하의 모든 변경 사항을 준비 영역에 추가$ git add .2. 변경 사항 확정 및 기록 (commit)준비 영역에 파일들이 모였다면, git commit 명령어를 통해 이를 하나의 논리적인 버전으로 영구 저장소에 기록합니다. 이때 변경된 내용을 ..
[GIT] Git의 3가지 공간 이해하기 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 Git의 3가지 공간 이해하기에 대하여 상세히 알아보겠습니다.1. Git 파일 관리 메커니즘Git의 동작 원리를 이해하기 위해서는 파일이 머무는 3가지 주요 공간의 개념을 파악해야 합니다. Git은 파일의 생명 주기를 이 세 가지 논리적인 구역을 통해 관리합니다.Working Directory (작업 공간): 현재 사용자가 실제로 파일을 수정하고 있는 공간입니다. 물리적인 파일들이 존재하는 디렉토리 자체를 의미합니다.Staging Area (준비 영역): Index라고도 불리며, 다음 버전으로 커밋할 파일들을 임시로 모아두는 대기 공간입니다. 여러 파일을 수정했더라도, 이 공간에 추가된 파일만 다음 커밋에 포함됩니다.Repository (저장소): 커..
[GIT] 내 첫 Git 저장소 만들기 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 내 첫 Git 저장소 만들기에 대하여 상세히 알아보겠습니다.1. 로컬 저장소 초기화버전 관리를 시작하려면 기존 프로젝트 디렉토리를 Git 저장소로 변환하는 작업이 필요합니다. 터미널이나 명령 프롬프트에서 프로젝트 폴더로 이동한 뒤 git init 명령어를 실행합니다.# 프로젝트 폴더로 이동$ cd my-project-directory# 현재 폴더를 Git 저장소로 초기화$ git init명령어가 성공적으로 실행되면 해당 디렉토리 내에 .git이라는 숨김 폴더가 생성됩니다. 이 폴더 내부에는 버전 관리에 필요한 메타데이터와 객체 데이터 베이스가 저장되며, 이 폴더가 존재하는 한 해당 디렉토리는 Git 저장소로서 기능하게 됩니다.2. 기존 원격 저장소 복..
[GIT] Git 설치 및 초기 설정 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 Git 설치 및 초기 설정에 대하여 상세히 알아보겠습니다.1. 운영체제별 Git 설치 방법Git은 다양한 운영체제를 지원하며, 공식 웹사이트(git-scm.com)에서 설치 파일을 제공합니다.Windows: 공식 웹사이트에서 다운로드한 설치 프로그램을 실행하여 기본 설정을 유지한 채 설치를 진행합니다. 설치 완료 후 'Git Bash' 애플리케이션을 사용할 수 있습니다.macOS: 터미널에서 Homebrew 패키지 매니저를 사용하여 brew install git 명령어로 설치하는 방법이 가장 일반적입니다.Linux (Ubuntu): 터미널에서 sudo apt-get install git 명령어를 통해 간편하게 설치할 수 있습니다.2. 필수 초기 환경 ..
[GIT] Git이란 무엇인가? 이번 포스팅에서는 [Git 기초] 파트의 세부 주제인 Git이란 무엇인가?에 대하여 상세히 알아보겠습니다.1. 버전 관리 시스템의 필요성소프트웨어 개발 과정에서는 소스 코드의 지속적인 수정과 추가가 발생합니다. 초기에는 날짜나 버전 번호를 파일명에 덧붙여 코드를 관리하는 방식을 사용했으나, 이는 프로젝트의 규모가 커지고 협업 인원이 늘어날수록 한계에 부딪히게 됩니다. 이러한 문제점을 해결하기 위해 고안된 것이 바로 버전 관리 시스템(Version Control System, VCS)입니다.2. Git의 핵심 개념과 특징Git은 리누스 토르발스가 리눅스 커널 개발을 위해 고안한 분산형 버전 관리 시스템입니다. 중앙 서버에만 의존하는 기존의 시스템과 달리, 각각의 개발자가 자신의 로컬 환경에 전체 저장소의 ..