기존 디렉토리를 Git 저장소로 만들기 - 기존 프로젝트를 Git으로 관리하려면 해당 프로젝트 디렉토리로 이동합니다. - Git 초기화 명령을 실행하여 .git 디렉토리를 생성합니다. git init - 이제 프로젝트의 파일을 Git이 추적하도록 추가하고 커밋합니다. git add . git commit -m "Init" 기존 저장소를 Clone 하기 - 다른 프로젝트에 참여하거나 저장소를 복사하려면 `git clone` 명령을 사용합니다. git clone https://github.com/example/repo.git - 이 명령은 `repo` 디렉토리를 생성하고 그 안에 `.git` 디렉토리를 만듭니다. 저장소의 데이터를 모두 가져와 자동으로 최신 버전을 Checkout합니다. - 원하는 경우 디렉..
사용자 정보 설정 사용자 이름과 이메일 주소를 설정합니다. 이 정보는 커밋에 사용됩니다. git config --global user.name "test" git config --global user.email test@example.com 이 설정은 --global 옵션을 사용하여 전역 설정으로 지정되며, 시스템 전체에서 해당 사용자에게 적용됩니다. 프로젝트마다 다른 정보를 사용하고 싶다면 --global 옵션을 제외하고 설정합니다. 텍스트 편집기 설정 Git에서 사용할 텍스트 편집기를 설정합니다. 기본적으로는 시스템의 기본 편집기를 사용합니다. 특정 편집기를 설정하려면 다음과 같이 실행합니다. git config --global core.editor emacs Windows 사용자의 경우, 실행 파일..
Linux에 설치 - Fedora나 RHEL 계열 : sudo dnf install git-all - Ubuntu나 Debian 계열 : sudo apt install git-all Mac에 설치 Xcode Command Line Tools를 설치하는 방법이 간단합니다. 터미널에서 'git' 명령어를 실행하면 자동으로 시작됩니다. Windows에 설치 윈도우설치링크를 통해 Windows용 Git을 내려받을 수 있습니다. 소스코드로 설치 Git을 최신 버전으로 설치하려면 소스코드를 내려받아 컴파일하는 방법이 있습니다. dh-autoreconf libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 필요한 의존성 라이브러리를 설치한 후 Git 소스코드를..
데이터를 다루는 방법 다른 VCS와 구별되는 가장 큰 차이 중 하나는 데이터를 다루는 방식입니다. 다른 시스템들은 파일의 변화를 시간순으로 기록하고, Git은 파일 시스템 스냅샷으로 다룹니다. 각 커밋은 전체 프로젝트의 상태를 저장하며, 파일이 변경되지 않으면 링크만 저장하여 공간을 절약합니다. 거의 모든 명령을 로컬에서 실행 대부분의 명령을 로컬에서 실행하기 때문에 네트워크에 있는 다른 컴퓨터가 필요하지 않습니다. 모든 히스토리와 파일은 로컬 디스크에 저장되어 있어 조회나 파일 비교 등의 작업이 매우 빠릅니다. Git은 오프라인 상태에서도 작업이 가능하며, 다른 VCS에서는 불가능한 일을 수행할 수 있습니다. Git의 무결성 데이터를 저장하기 전에 항상 체크섬을 구하고, 이를 통해 데이터를 관리합니다...
Linux 커널과 Patch 압축 파일 (1991–2002) 초기에는 Linux 커널이 Patch와 단순한 압축 파일로만 관리되었습니다. BitKeeper 도입 (2002) 2002년, Linux 커널은 상용 DVCS인 BitKeeper를 도입하였습니다. BitKeeper 사용 제한 (2005) 2005년, Linux 커널 커뮤니티와 BitKeeper를 개발한 회사 간의 관계가 악화되면서 BitKeeper의 무료 사용이 중단되었습니다. Git의 탄생 (2005) 이 사건을 계기로 Linux 개발 커뮤니티가 자체 도구를 개발하게 되었고, Git이 탄생하였습니다. Git의 초기 목표 (2005) - 빠른 속도 - 단순한 구조 - 비선형적인 개발 : 다양하고 복잡한 브랜치 - 완벽한 분산 : 로컬과 원격 서버..
버전 관리란? 버전 관리는 파일의 변화를 시간에 따라 기록하고, 특정 시점의 버전을 추적할 수 있는 시스템입니다. 소프트웨어 소스 코드 뿐만 아니라 그래픽 디자이너나 웹 디자이너도 버전 관리 시스템을 활용하여 파일의 변경 이력을 효과적으로 관리할 수 있습니다. 이를 통해 파일을 이전 상태로 복원하거나 수정 내용을 비교하고, 누가 언제 어떤 작업을 했는지 추적할 수 있습니다. 로컬 버전 관리 로컬 버전 관리 시스템은 파일 변경 정보를 간단한 데이터베이스를 사용하여 관리합니다. 예를 들어, RCS(Revision Control System)는 Patch Set을 활용하여 파일의 변경 이력을 관리합니다. 이로써 파일을 이전 상태로 되돌리거나 특정 시점의 상태를 쉽게 확인할 수 있습니다. 중앙집중식 버전 관리(..