[Git] 새로운 프로젝트를 시작할 때는 이렇게!

Minju Kim·2022년 3월 10일
0

CS & Etc.

목록 보기
4/9
post-thumbnail

👩‍👩‍👧‍👦 새로운 프로젝트 협업 시작할 때!

Step 1. Git clone하기

git clone http://github.com/minju1009/repository_name

git clone을 하면 git init과 remote가 한번에 다 해결되기 때문에 다른 프로젝트를 받아올 때는 git clone만 하면 된다!

Step 2. github에 브랜치 push하기

//새로운 기능을 만들고 싶다. 그러면 일단 브랜치 생성해서 작업하기!!!
git branch feature/login 브랜치 기능에 따라서 이름 지어서 브랜치 만들기
git checkout feature/login // 만들어놓은 브랜치로 이동하기
git branch //현재 어떤 브랜치에서 작업하고 있는지 확인하기
//개발하기 
git status // staging 확인
git add . // 추가
git commit -m "Add: Login page complete"
git log // commit 메세지 등 커밋사항 확인
git push origin feature/login // 원격 저장소 이름이 origin 

Step 3. Pull Request(PR) 생성하기

PR은 마치 보고서 같은 것! push 올려놓은 것
한 브랜치당 PR은 하나만 작성가능하다. 따라서 내가 계속해서 push해놓으면 커밋이 merge될 때까지 계속 쌓인다. 그 후, Merge권한자가 확인하고 Merge가 되면 코드가 master랑 합쳐진다.

💡 잠깐! 여기서 업데이트 되지 않은 곳이 있다!!!!!!

⇒ 바로 로컬의 마스터! 머지되고나서 리모트의 마스터랑 로컬의 마스터랑 달라졌다.

이걸 해결하려면, git pull을 해줘야 한다.
git pull 전에는 master 브랜치로 이동한 pull을 해줘야 한다.

git pull origin master // 원격저장소에 있는 마스터에서 받아오기 때문에 master사용

💡 Git commit convention

Add - 레이아웃 / 기능 추가
Remove - 내용 삭제 (폴더 / 파일 삭제)
Modify - 수정 (JSON 데이터 포맷 변경 / 버튼 색깔 변경 / 폰트 변경)
Fix - 버그/오류 해결
Refactor - 코드 리팩토링 (멘토 리뷰 반영 / 스스로 리팩토링 / 중복 코드 제거 / 불필요 코드 제거 / 성능 개선)
Docs - 문서에 관련된 수정작업(README.md 등)

template & 예시

분류: 한줄 제목
- 구현내용 detail
- 구현내용 detail
Add: 이미지 슬라이더 추가
- 메인페이지 이미지 슬라이더 구현
- 3초 간격으로 자동으로 넘어가는 기능 구현

Q & A / Tips

💡 ⭐⭐⭐ 새로운 브랜치는 무조건 master기준으로 만들어야 한다!
새로운 브랜치를 만들 때는, 무조건 master기준으로 만들어야 한다!!! 매우 중요!! 만약 내가 만들어놓은 브랜치 기준에서 새로운 브랜치를 만들면 master는 새로운 브랜치를 알 수가 없다!

❓ PR을 취소하고 싶다면?
⇒ PR을 그냥 닫으면 된다. 닫았던 PR을 다시 reopen하고 싶다면! 19Open 옆에 ✔️ 214 Closed 탭!~ 거기에 Closed된 PR이 있는데 다시 가서 오픈해주면 된다.

❓ 커밋 메세지를 수정하고 싶다면?
git log해서 확인하고 roll back하거나, 변경내역 하나 더 만들어서 커밋을 하나 더 찍거나,
git commit -amend로 메세지 수정 가능하다.`

❓multi line commit을 올리려면?
git commit -m"Add: create main page" 라고 작성하는 대신, git commit 을 작성하면 vim에서 수정할 수 있는 모드로 들어간다. i누르고 인서트 모드 들어가서 메세지를 멀티라인으로 작성한 후 q를 눌러 나오고 그 후에는 똑같이 푸시를 해 주면 된다.

i 누르기
Add : login 페이지 개발 완료
- login 레이아웃 완성
- login 유효성 검사 로직 완료
esc
:wq

❓커밋을 했는데 다시 특정 시점으로 돌아가고 싶다면?
git reset —-hard hash 를 사용하면 되는데, hard 옵션의 경우 코드까지 날라가고, soft 옵션의 경우 코드는 날라가지 않는다. (hash는 git log를 통해 확인하면 되며, git log했을 때 번호 막 길게 나와있는게 hash 부분이다)

❓ 다른 사람들과 소통하고 싶다면!
PR의 각각의 탭과, 코드 클릭하면 코드에, 그리고 Label을 통해 소통할 수 있다.


👶 나 혼자 프로젝트 시작할 때

1. 로컬에 프로젝트 할 디렉토리 만들기

mkdir minju_project
cd minju_project
git init

2. github에서 repository 생성하고 디렉토리와 연결하기

github 홈페이지에서 새로운 repository 생성

git remote add origin https://github.com/minju1009/new-respository-name.git
git add .
git status
git commit -m"Add : my first commit"
git push origin master

✅  커맨드 j 누르면 vscode에서 터미널 바로 열 수 있다.

profile
⚓ A smooth sea never made a skillful mariner

0개의 댓글