1. Master에서 clone을 받아온다. :
터미널창에서 git clone http://주소.
2. local 에서 branch 만들기 :
git branch feature/login(이름)
clone 받고 master 건들지 말고 branch 를 만들고 거기로 checkout 한 이후에 작업을 진행하는 것.
3. 현재 작업위치 master에서 branch로 이동 :
git checkout feature/login
* 주의 - 브랜치가 아닌 마스터에서 코드를 수정하거나, 삭제하거나 ,코드를 입력하지 말 것.
마스터에서는 pull만 받는다고 생각하면 된다.
4. 이동이 잘 되었는지 확인 :
git branch
5. 작업 후 수정사항들 스테이징 영역(staging area)에 추가 :
git add . ( "." -> 모든 수정사항들)
6. 코드수정 이력 입력. 커밋하기 :
git commit -m "first commit". ( 한줄 메시지 -> -m / 여러줄로 입력하려면 git commit 까지 입력하고 수정창으로 이동,
커밋 명 변경 : git commit --amend
7. git hub에 올리기 :
push할 때 master로 하지 말고 내가 만든 branch 이름으로 해야한다.
git push origin feature/login
8. PR 진행 (pull request) template 상세하게 작성
PR은 branch당 하나만 있다. commit이 계속 쌓이는 느낌이다.
9. merge 진행. master로 merge한다.
git merge
10. merge를 통해 Master가 변경되었으니, git checkout master를 통해 master로 다시 이동. (그전까지는 branch에 위치하였다.)
꼭 마스터로 와서 branch를 만들것! branch에서 branch를 만들지 말고
11. git pull origin master
12. 다시 2번작업으로 돌아가 시작.
용어 설명
* Origin :
원격 저장소의 경로이름. repository 의 이름이라고 보면 된다.
단축이름과 같다. www.github.goddemi/asdfdfef 이런주소 대신에 origin 을 쓰는 것
원격저장소 시간때 원격저장소 추가 명령어는
git remote add <이름> <url>
마찬가지로 git remote add origin <url> 형식으로 원격저장소를 추가하거나
git clone을 통해 원격저장소를 복사한다면
자동으로 origin이라는 이름의 원격저장소가 등록되게 됩니다.
* master :
브랜치 중 가장 중심이 되는 기본적인 branch를 master 브랜치
* HEAD :
현재 내가 있는 작업공간.
현재 master 브랜치에서 작업을 하고 있다면,
HEAD는 master 브랜치
다른 작업을 위해 feature 브랜치를 만들어줬고 그곳에서 작업중이라면,
HEAD는 feature 브랜치
여기에서 HEAD -> master는 이 커밋이 로컬 리파짓토리의 최종 커밋이라는 뜻이고,
origin/master는 깃허브 리파짓토리의 최종 커밋이라는 뜻. Origin/master은 원격 저장소에있는 master 브랜치의 로컬 복사본을 나타냅니다.
Origin/HEAD는 remote 의 기본 분기, 즉 Origin을 호출하는 원격 저장소에 있는 HEAD를 나타냅니다.
리파짓토리에서 브랜치 전환해도 영향을 미치지 않습니다. 원격 브랜치에서도 마찬가지입니다.
리파짓토리에 master 및 Origin/master가 있을 수 있습니다.
여기서 Origin/master은 원격 저장소에있는 master 브랜치의 로컬 복사본을 나타냅니다.
create differece라는 커밋을 추가.
로컬 리파짓토리 최종커밋 이동.
깃허브 리파짓토리는 그대로. (push 이전이기 때문)
푸쉬완료.
'Frontend Study - 2 > git' 카테고리의 다른 글
Git : Rebase 활용법 & fast-forward / three-way merge & cherrypick (0) | 2022.08.07 |
---|