git

윤지영·2023년 7월 12일
0
  • 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

  • git 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 는 병합을 위한 것이 아니라, 커밋 히스토리를 정렬하기 위한 명령어
  • git 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 하는 과정에서 발생할 수 있는 오류를 방지
profile
쑥쑥쑥쑥 레벨업🌱🌼🌳

0개의 댓글