220707 Git/GitHub 3 ✔️
🔵git add .
에서 .
은 현재 디렉토리에서 변경된 파일들만을 말한다.
(원래 대부분의 경우 . 은 모든 파일을 이야기한다. ☞ 내가 또 감히 몰랐을수도, 무지할수도, 어쩌구)
🔵git checkout '해시값'
서버 관리 롤백 가능. commit을 했다면 과거 시점으로 돌아가 복구 가능함.& git log
로 확인 후 원하는 시점 선택해서 롤백
🔵
원격 저장소에 저장된 파일을 수정하고 싶다면, 로컬에서 파일 수정하고 커밋, 푸쉬하기 ✔️
🔵
branch | 주요 특징 | 예시 |
Master (main) | * 배포 가능한 상태의 코드 | LOL 클라이언트 라이브 버전 (9.23.298.3143) |
Develop (main) | * feature branch로 나뉘어지거나, 발생된 버그 수정 등 개발 진행 * 개발 이후 release branch로 갈라짐. |
다음 패치를 위한 개발 (9.24) |
feature branches (supporting) |
* 기능별 개발 브랜치 (topic branch) * 기능이 반영되거나 드랍되는 경우 브랜치 삭제 |
개발시 기능별 예) 신규챔피언 세나, 드래곤 업데이트 |
release branches (supporting) |
* 개발 완료 이후 QA/Test 등을 통해 얻어진 다음 배포 전 minor bug fix 등 반영 | 9.24a, 9.24b, ... |
hotfixes (supporting) |
* 긴급하게 반영 해야하는 bug fix * release branch는 다음 버전을 위한 것이라면, hot fix branch는 현재 버전을 위한 것 |
긴급 패치를 위한 작업 |
🔵
- 브랜치 생성
(master) > git branch {branch name}
{branch name} 미 입력시 브랜치 조회
- 브랜치 이동
(master) > git checkout {branch name}
git checkout master
- 브랜치 생성 및 이동
(master) > git checkout -b {branch name}
- 브랜치 목록
(master) > git branch
- 브랜치 삭제
(master) > git branch -d {branch name}
- 브랜치 병합
(master) > git merge {branch name}
master에서 병합
master에 merge가 완료되었으면 branch를 삭제해도 됨
🔵
각 branch에서 작업을 한 이후 이력을 합치기 위해서는 일반적으로 merge 명령어를 사용한다.
병합을 진행할 때, 만약 서로 다른 이력(commit)에서 동일한 파일을 수정한 경우 충돌이 발생할 수 있다.
이 경우 반드시 직접 수정을 진행 해야 한다.
🔵
파일이 수정되면 modified
라고 status에 뜸
🔵git clone '복사한 git https 주소'
: 저장소 복제
- clone 이후 init 안해도 됨.
🔵
압축파일로 다운받는 것과 clone의 차이점
- master(.git)의 유무
- 압축파일 ☞ 최신 버전의 파일 및 폴더만 가져오는 것
- clone ☞ git 저장소를 그대로 가져오는 것
🔵
pull은 커밋을 받아오고, clone은 저장소를 받아오는 것.
🔵
branch(가지치기)하기 이전 단단한 뿌리가 필요하다.
반드시 root-commit(최초의 commit)은 필요함!
🔵HEAD
란?
현재 체크아웃된 브랜치의 마지막(가장 최신) 커밋에 대한 포인터이다.
내가 이동한 Commit의 정보를 표시해준다.
예시 : d8g3ef4 (HEAD -> master) add README
--> master에 위치해 있음을 알수있다.