5

[Git] Git의 3가지 공간

Git은 세 가지 주요 영역 또는 상태를 가지고 있습니다. Working directory, Staging area, Repository 이 세 가지에 대해 알아보겠습니다. Working directory 프로젝트의 실제 파일들이 저장되는 곳입니다. 이 디렉토리는 수정이 되고 있는 활성 작업 영역입니다. Untracked 파일 Git이 관리하지 않는 파일입니다. 이 파일들을 이전에 커밋되거나 스테이징 영역에 추가되지 않았으며 단순히 작업 디렉토리에 있는 파일입니다. 이러한 파일들을 Git의 관리를 받지 않으므로 변경 사항을 커밋 포함시키기 위해서는 'git add' 명령어를 사용하여 스테이징 영역에 추가해야 합니다. Tracked 파일 Git이 이미 알고 있는 파일로 이전 커밋에서 스테이징 영역에 있었던..

Git 2023.10.21

[Git] branch를 합치는 방법

브랜치를 합치는 방법은 Git에서 두 가지 방식으로 수행할 수 있습니다. Merge(병합) 다른 브랜치의 변경 사항을 현재 브랜치에 통합하는 가장 간단하고 일반적인 방법입니다. 병합 커밋을 만들어 두 브랜치의 변경 사항을 하나로 합칩니다. git checkout main git merge feature 위의 명령어로 main 브랜치에 feature 브랜치를 Merge 할 수 있습니다. 장점 간단하고 안정적인 방법으로 충돌이 발생할 경우 비교적 쉽게 해결할 수 있습니다. 브랜치의 히스토리가 보존되므로 나중에 병합 작업을 추적하기 쉽습니다. 단점 병합 커밋이 많은 이력을 만들 수 있으므로 히스토리가 복잡해질 수 있습니다. Merge 되돌리는 방법 merge도 하나의 커밋이기 때문에 reset이라는 명령어로 ..

Git 2023.10.15

[Git] git reset, revert 으로 되돌아가기

'git reset' 현재 Staging Area(또는 Index)에 있는 모든 변경 내용을 언스테이징(Unstage)하고, 이전 커밋으로 되돌린다. 이 명령어를 사용하면 Staging Area에 있는 모든 변경 내용이 취소되지만, Working Directory의 파일은 영향을 받지 않고 그대로 유지된다. git reset 기본적으로 위의 명령어를 실행하면 Staging Area의 변경 내용이 언스테이징되며, 가장 최근의 커밋(HEAD)으로 돌아간다. 만약 변경 내용을 Working Directory에서도 제거하고 이전 커밋으로 돌아가려면 '--hard' 옵션을 사용할 수 있다. git reset --hard 주의 : '--hard' 옵션을 사용하면 Working Directory의 변경 내용도 모두 ..

Git 2023.10.11

[Git] git add, commit 으로 변경사항 저장하기

'git status' 현재 Git 저장소의 상태를 확인하는 데 사용된다. 변경된 파일 목록 어떤 파일이 수정되었거나 새로 생성되었는지, 삭제되었는지 등의 정보를 나열한다. Staging Area(또는 Index)에 대한 상태 변경된 파일 중 어떤 파일이 Staging Area에 추가되어 커밋 대기 중인지 확인할 수 있다. 현재 브랜치 현재 작업 중인 브랜치의 이름을 표시한다. 커밋 메시지 이전 커밋 메시지와 현재 작업 중인 커밋 메시지를 표시한다. 'git add' 변경된 파일을 Staging Area(또는 Index)에 추가하는 데 사용된다. Staging Area에 파일을 추가하면 해당 파일의 변경 내용이 다음 커밋에 포함된다. git add 파일명 특정 파일 추가 특정 파일을 Staging Are..

Git 2023.10.11

[Git] Git 이란?

Git 이란? Git은 버전 관리 도구(Version Control System) 중 하나, 소프트웨어 개발에서 소스 코드와 관련 파일의 변경 이력을 관리하고 추적하는 도구이다. 개발자들 사이에서 소스 코드 관리와 협업을 위한 필수 도구로 인정받고 있으며, 다양한 프로젝트 및 업무 환경에서 활발하게 사용되고 있습니다. Git을 통해 변경 이력을 관리하고 협업하는 데 있어서 높은 유연성과 신뢰성을 제공한다. 버전 관리 개발자가 작성한 코드와 프로젝트 파일의 변경 내역을 지속적으로 기록하며, 각 변경 내용을 버전으로 저장한다. 분산 시스템 중앙 서버가 없이 각 개발자의 로컬 컴퓨터에 별도의 저장소(repository)를 가진다. 브랜치 브랜치(branch)라는 개념을 활용하여 병렬 개발을 지원한다. 각 브랜..

Git 2023.10.09