Branching and Merging
Distributed(분산 시스템)
Data Assurance(데이터 보증)
Staging Area(충돌해결 및 선택적 버전관리를 위한)
local repository(지역 저장소) : 내 컴퓨터에 저장되는 개인 저장소
remote repository(원격 저장소) : 원격저장소 서버에서 관리되며, 여러 사람이 함께 공유하기 위한 저장소
Fork : 메인 repository 를 개인 repository로 복사하는 것
위와 같이 생긴 버튼을 눌러서 진행한다.
저장소 레포의 'code'를 클릭하면 저장소url을 획득할 수 있다. 파일철모양 버튼을 누르면 주소 자동 복사
git status : 저장소의 상태 확인
git log : 커밋 히스토리 확인 가능
Tip
git log --oneline
또는git log --oneline --graph
: 한줄로 명확하게 커밋 히스토리를 볼 수 있다.--graph
는 브랜치와 머지 히스토리를 보여주는 아스키 그래프를 출력
git diff : 변경 내용을 명확히 보여주는 명령어
Tip
git diff --color-words
: 변경내용을 색상으로 명확하게 집어준다.
git add '파일' : 파일을 staging area에 추가
Tip
git add --all
또는git add .
를 쓰면 변경사항이 있는 모든 파일을 한꺼번에 올릴 수 있다.
git commit -m '커밋메세지'
git commit 내용수정 원할시
git reset HEAD^1
// 최근에 작성한 깃을 한 개 삭제한다. 숫자를 변경가능(2를 적으면 최근에 작성한 2개의 commit을 지운다)
// 내컴퓨터에서 내 레포지토리로 이동
$ git push 대상(origin) master(브렌치이름)
//업데이트 된 것을 다운받아서 병합시키는 일
$ git pull 대상(origin) master(브렌치이름)
// upstream : 원본 레포지토리
// remote 레포지토리에서 내 컴퓨터로 이동
// 단, git remote add upstream 이 있어야함
$ git pull upstream master
git fetch '원격저장소별칭' : git merge + pull - 변경사항을 최신버전으로 업데이트
git checkout
//원하는 파일 1개만 다시 뒤집어씌울 수 있다. //기존 자료 위에 merge 되니 백업 미리해둘것
$ git checkout master 파일경로
협업을 위한 git 개념 → Git workflow & Branch
Key Terms
- branch : 가지 (하나의 프로젝트 단계)
★ master, develop, features 브렌치 꼭 기억하기- Merging : 기능 추가 후 페이지 합치기
- sudo apt-get remove --purse git