혼자 작업 시의 workflow
1. Fork - 타인의 Remote Repository의 자료에 contribute하기 위해 내 계정의 Repository로 복사해옴
2. Clone - 복사한 Repository를 수정하기 위해 Local Repository로 복사해옴
git clone '레파지토리_주소'
3. Add - 코드 수정 후의 파일을 staging area로 올려 Git의 관리 하에 있는 상태로 만듦
git add '파일명' : untracked file을 staging area로 추가
- git add . : 모든 파일을 한번에 추가
- staged된 파일을 다시 수정하면 modified 상태로 변경됨 → add하여 최신 버전을 다시 올려야 함
git status : 내 로컬의 staged된 파일, untracked(unstaged)된 파일 목록 확인
git restore '파일명' : commit되지 않은 Local Repository의 변경 사항 폐기
4. Commit - Staging area의 파일들을 Local Repository에 올리면서 하나의 버전으로 기록
git commit -m '커밋 메시지'
cf. 커밋 메시지 작성 방법
git reset HEAD^ : 에러 수정을 위해 가장 최신의 커밋 취소
git log : 현재까지 commit된 내역 확인
5. Push : Local Repository에 저장되어 있는 commit 기록들을 내 Remote Repository에 업로드
git push '저장소명' '브랜치명'
6. Pull Request(PR) : 내가 push한 변경 사항에 대해 함께 작업하는 사람들에게 알림
- Github 웹상에서 내가 push한 내용을 요약해서 파악할 수 있음(Compare & pull request)
함께 작업 시의 workflow
1. git init : 새로운 Git 저장소를 생성(초기화)하여 기존 디렉토리를 Git Repository로 변환
2. 원격 관리 : 내 컴퓨터의 Git 디렉토리를 Remote Repository와 연결
- git remote add origin '내 Repository 주소' : 내 Local Repository 연결
- git remote add pair '상대방 Repository 주소' : 상대방(pair)의 Local Repository 연결
- git remote -v : 현재의 Local Repository와 연결된 모든 Remote Repository 목록 확인
3. Remote Repository를 통해 서로의 변경사항 공유
- git pull pair '브랜치명' : 상대방이 해당 branch에 commit한 작업 내용을 내 Local Repository로 가져와서 자동 병합
- 충돌 발생으로 자동 병합 실패(Merge conflict) 시
1. git status 명령어를 통해 충돌하고 있는 파일 확인
2. 충돌부분 비교 후 수정 - Accept Current Change(내 변경내용 반영) / Accept Incoming Change(상대방의 변경내용 반영) / Accept Both Changes(모든 변경 사항 반영)
3. 수정 후 Remote Repository에 업로드
'백엔드 개발자 공부 > Git' 카테고리의 다른 글
[Git] Git: 버전관리 시스템 (0) | 2022.08.29 |
---|