- vscode 터미널 단축키 ctrl + shift + ~
💻 CIL 명령어
- pwd : 현재 위치 (cmd)
- Get-Location : 현재 위치 (powershell)
- dir : list출력 powershell 사용 가능, cmd 사용 가능
- ls : powershell 사용 가능, cmd 사용 불가
- cd 폴더명 : 폴더명으로 이동
- cd .. : 상위 폴더로 이동
- mkdir 폴더명 :폴더 생성
💻 git basic
- git init //.git 생성
- git config —global core.autocrlf true //개행문자 설정
- git config --global user.name “developer-jyyun” // user name등록
- git config --global user.email"메일주소” //user email 등록
- git config user.name // user.name 확인
- git config user.email // user.email확인
- git status // 파일 상태 확인
- git log //커밋 기록 확인
- git add 파일명 //단일 파일을 스테이징 영역에 추가
- git add . //폴더 내 전체 파일 스테이징 영역에 추가
- git commit -m "커밋메시지" //커밋
- git commit --amend -m "변경할 커밋메시지" //가장 최근 커밋 메시지 변경
💻 git revert/reset
- revert
- reset
- git reset —soft 되돌아갈 커밋번호
💡 —soft 의 경우,
수정 사항 (이후의 커밋 내용)에 대해서 그대로 두고, 기록만 삭제.
정확히는 수정사항(이후의 커밋 내용)을 단순히 commit 하기 전 상태
(→ staging 영역에 놔둠)
-
git reset —hard 되돌아갈 커밋번호
💡 —hard 의 경우,
reset에 명시한 그 커밋 이후의 모든 수정사항들을 완전히 삭제
-
git reset --hard HEAD~1
//HEAD: 가장 최신 버전
//가장 최신 버전에서 한 버전 뒤로 되돌리기
-
git reset --hard HEAD~2
// 최신 버전에서 2 버전 만큼 뒤로 되돌리기
-
git reset --hard ORIG_HEAD
// ORIG(기존의 HEAD ORIGINAL).
// 잘못 reset됐을 경우 한번 되돌리기 가능하다.(원상복귀)
-
git remote add origin 원격저장소 주소 //원격저장소 연결
-
git remote //연결된 원격 저장소 확인
-
tgit remote rm 원격저장소 주소 //원격 저장소 삭제
-
git clone 원격저장소 주소
-
git pull origin 브랜치명
-
git push origin 브랜치명
💻 branch
- 기존 master branch→ main branch 권장
- git config --global init.defaultBranch main
- git branch -m main
- git branch Feature/Service Release date
- 기존 checkout → switch 권장
- git switch 이동할 브랜치명
- git switch -c 생성할 브랜치명
- git branch 생성할 브랜치명
- git branch -D 삭제할 브랜치명
- git branch —list 또는 git branch // 현재 브랜치 확인
💻 merge
- -rm -rf .git //현재 git 기록들을 지우기
- git merge develop
- git log --graph --decorate --oneline // 커밋기록 그래프로
💻 merge conflict
- accept current change : 현재 위치한 main 브랜치의 내용을 따름
- accept incoming change : 병합하는 develop 브랜치의 내용을 따름
- accept both changes : 두 브랜치 내용 모두를 담게됩니다.
💻 rebase
💡 rebase 는 병합을 위한 것이 아니라, 커밋 히스토리를 정렬하기 위한 명령어
💻 rebase 시 merge conflict 오류 수정
- 충돌된 부분 파일 수정
- git add
git rebase --continue
//커밋 대신
git rebase --abort
//merge conflict 가 발생한 상황에서 rebase 를 취소
- merge vs rebase
💡 rebase : 커밋 이력을 단순히 관리하고 싶을 때 사용
💡 merge : 변경 이력을 모두 남기고 싶을 때 사용
실제로는 커밋 이력을 남기는 것이 굉장히 중요!
->주로 merge만을 사용
💻 pull request
main 브랜치
: 사용자에게 배포되는 브랜치
develop 브랜치
- 사용자에게 서비스를 배포하기 이전에, 모든 기능 통합하여 테스트를 진행하는 브랜치
- 테스트가 완료 후 main 브랜치에 코드를 통합(사용자 서비스 반영)
- 보통 테스트용 브랜치가 따로 존재함
feature ~ 브랜치
- 서비스의 기능을 분할해서, 기능 하나를 구현하는 브랜치
- 하나의 기능 구현이 완료되면, develop 브랜치로 내 코드를 통합요청
- pull request
- pull request 성공적으로 병합, feature/name 브랜치 삭제 delete branch버튼
- pull requests 메뉴에서 closed 를 클릭 :: 지금까지 작업 내역 확인 가능
- git pull origin main
- git fetch --prune // git pull 하는 과정에서 발생할 수 있는 오류를 방지
🚨🚨 git 에러🚨🚨
- pull 에러
➡ 합치는 방식 지정 필요하기 때문에 나타나는 에러 (merge / rebase / fast-forward merge)
- git pull origin main --no-ff
--no-ff
: no fast forward merge 방식으로 pull 진행
실습 복기
6) (실습) readme.md 병합하기
1. pull request 를 통해서 develop 브랜치에 있는 내용을 main 브랜치로 병합시켜주세요.
2. main 브랜치에 마크다운 문서가 제대로 표시되는지 확인해주세요.
- 현 위치 확인
- 폴더 생성 후 git init
- cd 클론받은 폴더명
- git clone 저장소 주소
- git branch 브랜치명
- git switch 생성한 브랜치명
- 해당 브랜치 내에 필요한 내용 수정
- git add .
- git commit -m"커밋메시지”
- git push orign 해당 브랜치명
- git hub → repo → code → pull request 초록버튼
- pull request 진행
create pull request 버튼
눌러 생성
- pull request 이제 상단 files change에서 에서 코드 리뷰 작성 후 병합
- add single comment
- start a review
- 수정사항 없을 시 approve (승인) 체크 후 submit review
- 수정 필요 시 request changes(수정요청)체크 후 submit review
- 수정 끝난 후 merge pull request 버튼 (관리자) → 커밋 메시지 입력 → confirm merge 버튼
- pull request 성공적으로 병합, feature/name 브랜치 삭제 delete branch버튼
- pull requests 메뉴에서 closed 를 클릭 :: 지금까지 작업 내역 확인 가능
- git pull origin main
- git fetch --prune // git pull 하는 과정에서 발생할 수 있는 오류를 방지