VCS 12

[Pro Git] 3-1. Git 브랜치: 브랜치란 무엇인가

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 브랜치란 무엇인가 브랜치 코드의 독립적인 라인 원본 코드를 변경하지 않고 복사본에서 작업할 수 있게 해줍니다. 개별적으로 개발을 진행한 후, 이를 원본 코드와 병합하여 최종 제품을 완성합니다. Blob 객체 Git에서 파일의 내용을 저장하는 객체입니다. 파일의 이름이나 경로 정보는 포함하지 않습니다. 일종의 파일에 대한 스냅샷 파일을 Staging Area에 추가할 때, 파일의 내용을 Blob 객체로 변환하고 저장합니다. 커밋 객체 특정 시점의 프로젝트 상태를 나타내는 객체입니다. Staging Area에 있는 데이터의 스냅샷에 대한 포인터 Staging Area에 있는 파일들의 상태를 스냅샷으로 ..

VCS/Git 2024.01.20

[Pro Git] 2-6. Git의 기초: 태그

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 태그 특정 커밋을 가리키는 고정된 참조입니다. 항상 동일한 커밋을 가리킵니다. 보통 릴리즈할 때 사용합니다. 조회 git tag (-l) git tag -l "pattern" git show git show "tag name" 태그의 상세 정보를 볼 수 있습니다. 태그 정보, 커밋 정보 제공 태깅 Annotated tag 태그를 만든 저자 이름, 이메일, 생성 날짜, 메시지를 포함합니다. $ git tag -a v1.4 -m "my version 1.4" 생성 -a 옵션을 추가하여 생성합니다. 옵션 -m : 메시지를 추가합니다. Lightweight tag 단순히 커밋을 가리키는 포인터로 추가적인 ..

VCS/Git 2024.01.14

[Pro Git] 2-5. Git의 기초: 리모트 저장소

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 리모트 저장소 리모트 저장소란? 인터넷이나 네트워크 어딘가에 있는 저장소를 말합니다. 특징 원격으로 다른사람과 협업 할 수 있습니다. Pull, Push 명령어 권한 부여 저장소마다 읽고 쓰는 등의 권한을 줄 수 있습니다. 리모트 저장소 확인 git remote -v 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있습니다. git clone 명령어를 통해 복제하면, 'origin' 이라는 리모트 저장소가 자동으로 등록됩니다. 리모트 저장소 추가 git remote add 리모트 저장소 fetch git fetch clone하거나 fetch한 이후, 수정된 모든 것을 로컬에 가져옵니다. 단, ..

VCS/Git 2024.01.14

[Pro Git] 2-4. Git의 기초: 되돌리기

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 되돌리기 커밋 수정 git commit --amend 수정하고자 하는 파일을 작업하고, staging area에 올립니다. git commit --amend 명령어로, 이전 커밋의 메시지를 수정하는 에디터를 제공받습니다. 저장하여 최신 커밋의 내용 및 메시지를 변경합니다. 상태 변경: staged -> unstaged git reset HEAD "filename" staged 상태의 파일을 unstaged로 변경합니다. 상태 변경: modified -> unmodified(최근 커밋버전) git checkout -- "filename" modified 상태의 파일을 최근 커밋된 버전으로 되돌아갑니다..

VCS/Git 2024.01.14

[Pro Git] 2-3. Git의 기초: 커밋 히스토리 조회하기

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 커밋 히스토리 조회하기 커밋 히스토리 조회 git log commit 912022dcf5c069c7cfeb89734712c58569e8c22c (HEAD -> master) Author: noah0504789 Date: Sun Jan 14 18:22:08 2024 +0900 third commit 0f54ccd7f3ac4537d87c25a310471b74eb001a3c Author: noah0504789 Date: Sun Jan 14 18:18:44 2024 +0900 second commit a809274718d3842c347baa5a70f5ee534c7aaaa5 Author: noah050478..

VCS/Git 2024.01.14

[Pro Git] 2-2. Git의 기초: 수정하고 저장소에 저장하기

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. 수정하고 저장소에 저장하기 파일의 상태 Tracked (unmodified, modified, staged) 이미 스냅샷에 포함돼 있던 파일입니다. 처음 저장소를 clone하면, 모든 파일은 tracked-unmodifed 상태입니다. Untracked Staging area에 포함되어 있지 않은 파일입니다. 상태 확인 git status Untracked 상태의 파일을 Stage (새로 추적) git add README # 파일 또는 디렉토리 경로를 인자로 받습니다. On branch master No commits yet Changes to be committed: (use "git rm --c..

VCS/Git 2024.01.14

[Pro Git] 2-1. Git의 기초: Git 저장소 만들기

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. Git 저장소 만들기 Git 저장소 등록 로컬 디렉토리 등록 git init # .git이라는 하위 디렉토리를 생성합니다. 버전관리를 하지 않는 로컬 디렉토리를 신규로 등록합니다. clone git clone https://github.com/libgit2/libgit2# libgit2 라이브러리 소스코드를 clone 합니다. 원격 remote repository에서 복제하여 등록합니다. 프로젝트 히스토리를 전부 복사해서 가져옵니다. 자동으로 가장 최신버전을 checkout 합니다. 해당 디렉토리에 .git 디렉토리가 만들어집니다. 다른 프로젝트에 참여 및 기여하거나, 저장소를 복사하고 싶을 때 사..

VCS/Git 2024.01.14

[Pro Git] 1-6. 시작하기: Git 최초 설정

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. Git 최초 설정 사용 환경을 설정해 주어야 합니다. 한번만 하면 됩니다. 수정 가능합니다. 설정한 내용은 업그레이드를 해도 유지됩니다. 설정 디렉토리 /etc/gitconfig 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 파일 입니다. --system 옵션을 사용합니다. ~/.gitconfig 특정 사용자에만 적용되는 설정 파일 입니다. --global 옵션을 사용합니다. .git/config 특정 디렉토리에만 적용되는 설정 파일 입니다. --local 옵션을 사용합니다. 명령어 사용자 정보 설정 git config --global user.name "John Doe" git config ..

VCS/Git 2024.01.13

[Pro Git] 1-3. 시작하기: Git 기초

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다. 1. Git 기초 차이가 아니라 스냅샷 델타 기반 버전관리 시스템 파일의 변경 사항만을 시간순으로 관리하면서 버전관리를 수행합니다. 제품 : CVS, Subversion, Perforce 등 스냅샷 기반 버전관리 시스템 시간순으로 파일 시스템의 '스냅샷'으로 관리한다는 것을 의미합니다. 커밋할 때마다, 변경된 파일 전체를 저장합니다. 변경사항이 없는 파일은 링크만을 저장합니다. 거의 모든 명령을 로컬에서 실행 오프라인 상태이더라도 작업이 가능합니다. 로컬 저장소에서 작업하고 원격 저장소에 동기화 가능 Git의 무결성 체크섬 고유 식별자 (fingerprint 역할) 데이터 무결성 검증을 위해 사용되는 값..

VCS/Git 2024.01.13