본문 바로가기

반응형

git

Git 요약 7. Remote branch, Rebase (원격 브랜치, 리베이스) Remote Branch Remote refs 원격저장소를 참조하기 위한 포인터. 원격저장소에 있는 브랜치, 태그, 등등을 가리킨다. git ls-remote [remote] Remote refs를 조회 Remote Refs가 있지만 보통은 리모트 트래킹 브랜치를 사용한다. Remote-tracking branch 추적 브랜치 리모트 저장소에 마지막으로 연결했던 순간에 브랜치가 무슨 커밋을 가리키고 있었는지를 가리키는 로컬 포인터. 리모트 브랜치의 이름은 (remote)/(branch) 형식 ex) origin/master 이 포인터는 로컬에 있지만 움직일 수 없다. 리모트 서버에 연결할 때마다 git에 의해 자동으로 위치가 옮겨진다. 1. 원격 브랜치 상태 보기 git remote show [remot.. 더보기
Git 요약 6. Branch(브랜치)란?, Merge(병합), Branch 활용법(workflow) Branch(브랜치)란? 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행 가능 Git은 브랜치를 만들어 작업하고 나중에 Merge 하는 방법을 권장. 하루에 수십번씩해도 괜찮다. Staging 하면 Git은 Git 저장소에 파일을 저장하고(Git은 이것을 Blob이라고 부른다) Staging Area에 해당 파일의 체크섬을 저장 Commit하면 Git은 root 디렉토리와 각 하위 디렉토리의 Tree(폴더구조) Object를 체크섬과 함께 저장소에 저장 후 Commit Object를 저장 1. 현 Staging Area에 있는 데이터의 스냅샷에 대한 포인터, 2. Author나 commit message 같은 meta data, 3. 이전 commit에 대한 포인터 등을 포함 .. 더보기
Git 요약 5. Tag(태그), Alias(가명) 사용하기 Tag 사람들은 보통 릴리즈할 때 사용 Tag 조회 git tag -> 이미 만들어진 Tag가 있는지 확인, 알파벳 순서 $ git tag -l "v1.8.5*" -> 검색 패턴을 사용하여 Tag를 검색 git show -> 태그 정보와 커밋 정보를 모두 확인 Lightweight Tag 브랜치와 비슷한데 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지 않는다. 단순히 특정 커밋에 대한 포인터일 뿐이다. 기본적으로 파일에 커밋 체크섬을 저장 git tag git show 를 실행하면 별도의 태그 정보를 확인할 수 없다. 이 명령은 단순히 커밋 정보만을 보여준다. Annotated Tag (주석이 달린 태그) Git 데이터베이스에 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜, 그리고 태그 메시.. 더보기
Git 요약 3. 커밋 히스토리 조회하기, 되돌리기(Undo) 커밋 히스토리 조회하기 git log -p 각 커밋에 적용된 패치를 보여준다.--stat 각 커밋에서 수정된 파일의 통계정보를 보여준다.--shortstat --stat 명령의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다.--name-only 커밋 정보중에서 수정된 파일의 목록만 보여준다.--name-status 수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한것인지도 보여준다.--abbrev-commit 40자 짜리 SHA-1 체크섬을 전부 보여주는 것이 아니라 처음 몇 자만 보여준다.--relative-date 정확한 시간을 보여주는 것이 아니라 ‘`2 weeks ago’'처럼 상대적인 형식으로 보여준다.--graph 브랜치와 merge 히스토.. 더보기
Git 공부하는데 도움이 되는 책, 사이트 추천 1. Git 공식 웹사이트 Pro Git으로 실제 서점에서 판매되고 있는 책의 내용을 무료로 볼 수 있다. 가장 먼저 이 책을 보기 추천! 웹사이트 또는 pdf 형식 한글 버전: https://git-scm.com/book/ko/v2 가끔 번역 내용이 잘 이해되지 않을 때는 영어원문을 보자.. 영어 버전: https://git-scm.com/book/en/v2 2. 누구나 쉽게 이해할 수 있는 Git 입문 https://backlog.com/git-tutorial/kr/ backlog에서 제공하는 git 입문 강좌 (실습하다보면 blacklog를 git의 원격저장소로 사용하는 방법을 알려준다.) 입문편, 발전편, 찾아보기로 나누어져 있다. Pro Git의 설명이 버거울 때 참고하면 좋을 것 같다. 입문편.. 더보기
Git 요약 2. Git 저장소(Repository) 만들기, 수정하고 저장소에 저장하기 Git 저장소 만들기 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소 내 컴퓨터에 로컬 저장소를 만드는 방법 아예 저장소를 새로 만들거나, mkdir 폴더 생성 cd 프로젝트 디렉토리로 들어갑니다. git init 새 repository 생성. git 폴더를 만듦. 이미 만들어져 있는 원격 저장소를 로컬 저장소로 복사 git clone ex) git clone https://github.com/libgit/libgit2 libgit2라는 이름의 "로컬 폴더" 생성 후 그 안에 내용을 복제. 이미 같은 이름의 폴더가 있으면 오류 발생... 더보기
Git 요약 [용어설명] 1. Git이란?, Git 최초 설정, 도움말(help) 보기 Git이란? [깃]이라고 발음된다. 소프트웨어 버전관리 시스템. 원래는 Linux 소스코드를 관리할 목적으로 개발, 2005년 탄생. Git은 DVCS (Distributed version control system, 분산 버전 관리 시스템)이다. 반대는 CVCS (Centralized VCS, 중앙집중식 버전 관리) ex) Subversion Git은 변화가 아니라 Snapshot을 저장한다. Snapshot(스냅샷)이란? 단어를 번역하면 움직이는 물체를 재빨리 찍는 사진. 카메라로 그 순간을 남기듯이 그 당시의 모습을 기억한다는 의미. Git은 데이터를 파일 시스템 스냅샷(그 당시의 파일 시스템 자체)로 취급하고 크기가 아주 작다. 기존 CVCS는 변화와 파일목록을 저장. Git은 성능을 위해서 파일.. 더보기

반응형