- 깃허브의 repository에서 나의 repository로 fork 한다
- 나의 repository에서 나의 local로 가져오기 위해 clone 한다
$ git clone <Repo URL>
- 동료와 공동작업을 위해 나의 local과 상대방의 repository와 연결한다.
$ git remote add pair <Repo URL for pairs fork>
- 그리고서 코드를 작성한 후 local에 커밋해준다.
$ git add <change file>
$ git commit -m "commit message"
- 그다음에 나의 remote repository (origin)에 푸쉬해준다.
$ git push origin master (or other branch name)
- 이 상태에서 나의 동료는 pull 명령어를 사용해 변경된 내용을 자신의 local로 가져올 수 있다.
$ git pull pair master (or other branch name)
- 이 순서를 계속해서 반복해서 작업한다.
항상 push는 자신의 레포지토리에 pull은 페어의 레포지토리에서 해야 한다.
충돌이 안일어나게 하려면?
git pull pair master
후 수정한다.- 수정한걸
git add
한다.git push origin master
한다.git commit -m
- 1번~4번 과정을 반복한다.
여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 바로 '브랜치(Branch)' 입니다. 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있지요. 이렇게 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있습니다.
언제 쓰이는가?
Branch의 기능
git checkout <브랜치 이름>
Git checkout -b <새로 만들 브랜치 이름>
원본을 베이스로하는 다른 브랜치를 만들고 싶다면?!
Today Git 명령어
git init : 현재 디렉토리를 기준으로 Git 저장소가 생성 (Git 저장소가 되었다는 가장 큰 증거는 디렉토리 내부에 .git 디렉토리가 생긴다)
diff : 파일의 어떤 내용이 변경되었는지 차이점을 비교 (commit, branch, working directory와 staging area 간의 비교 등등)
log : 저장소의 히스토리를 조회 (커밋 내역)
master branch : 기준이 되는 브랜치
feature branch : 나의 브랜치
git merge <다른 브랜치명> : 둘을 합치게 되면 이것이 merge
브랜치 삭제 : git branch -D (반드시 먼저 master branch로 이동해서 지울 것!)
git log —branches —graph —decorate —online : 그래프형 커밋 히스토리