GIT

seumomo_TAEILKIM·2023년 5월 30일
0

총정리

목록 보기
6/8
post-thumbnail

2023/08/17

GIT

파일이 어떻게 변경되어 왔는지 볼 수 있는 버전 관리 시스템

BRANCH

별도로 생성하여 독립적으로 작업할 수 있는 공간
=> 브랜치를 새로 만들면 만들 때 브랜치의 내용을 그대로 복사한다.

  • 생성
    => git branch 이름
  • 이동
    => git switch 이름
  • 병합
    => git merge 이름
  • 삭제
    => git branch -d 이름

    github에서 브랜치 삭제했는데 branch -a 하면 존재할 때
    => git remote prune 별칭

로컬저장소

WORKING DIRECTORY

  • 로컬저장소로 초기화
    => git init
  • STAGE에 보내기
    => git add 파일명(.)
  • STAGE에서 WORKING DIRECTORY로 보내기
    => git restore --staged 파일명

COMMIT

STAGE -> HEAD

  • 터미널창에서 커밋하기
    => git commit -m "커밋메세지"
  • 열리는 파일 상단에 메세지를 적어서 커밋
    => git commit
  • 마지막 커밋메세지 수정
    => git commit --amend
  • WORKING DIRECTORY에서 HEAD로 한번에 커밋
    => git commit -am "커밋메세지"

원격저장소

github의 저장소에서 .을 누르면 웹용 vscode가 열린다.

  • 원격저장소 등록
    => git remote add 별칭 주소
  • 원격저장소 확인
    => git remote -v
  • remote 브랜치 삭제
    👉 git push 원격저장소이름 -d 원격브랜치이름
  • 별칭 변경
    => git remote rename 원본별칭 변경할별칭
  • 원격저장소를 최신화
    => git remote update
  • url 변경하기
    => git remote set-url 별칭이름 새url
    => git remote update origin --prune
  • 원격저장소로 보내기
    => git push 별칭 branch명
  • 강제로 보내기
    => git push 별칭 +branch명
  • 원격저장소를 로컬로 복제
    => git clone 주소
  • clone 후 본인의 원격 저장소에 push하기
    1. clone한 자료의 remote를 지운다.
      git remote remove origin
    2. 본인의 remote를 추가한다.
      git remote add origin url
    3. push한다.
      git push origin main
  • 원격저장소의 branch를 로컬로 가져오고 스위칭하기
    git checkout -t 별칭/브랜치이름
  • .git을 제외하고 원격저장소의 원하는 폴더만 복사하기
    => degit 폴더주소 만들폴더명

확인

  • 원격에 있는 branch 확인
    => git branch -r
  • 원격과 로컬의 branch 확인
    => git branch -a
  • 로컬의 branch 확인
    => git branch

삭제

  • .git 삭제
    => rm -rf .git
  • git rm -r 폴더/파일명
    => 반복하면서 하위 디렉토리까지 모두 지우기
    => 앞에 git 명령어를 넣으면 커밋해서 삭제 기록이 남는다
  • 마지막 commit을 취소하고 파일 삭제
    => git reset --hard HEAD^

    git reset --hard로 지워진 커밋 복구하기
    => git reflogid를 확인하고, git reset --hard id로 복구한다.

과거로 돌아가기

git log에 있는 id값으로 checkout한다

ETC

vscode 터미널에서 메세지가 전부 출력되지 않을 때
=> git config --global core.pager cat

협업하기

  1. 프로젝트의 리더가 공유할 원격 저장소와 develop branch를 만든다.
  2. 팀원들은 포크하고, 리더의 저장소와 포크한 저장소의 remote add한다
  3. git remote update해서 develop branch를 불러오고, 각자 작업할 별도의 branch를 생성한다.
  4. 생성한 branch에서 작업을 하고 본인의 원격 저장소에 pushpull request를 보낸다.
  5. 리더는 요청 온 request에 Merge pull request를 클릭하고 branch에 합친다.

pull request 보내기

  1. push한 원격 저장소에서 pull request를 누른다.
  2. 리더 저장소로 보내도록 설정하고, 코멘트를 적고 보낸다.

pull request 충돌 해결하기

  1. 리더는 충돌된 pull request는 cancel시킨다.
  2. cancel된 팀원은 develop 브랜치로 이동해서 최신화된 파일을 pull한다.
  3. cancel된 파일을 push했던 branch로 이동해서 merge한다.
  4. 변경사항을 확인하고, 충돌을 해결한다.

    merge가 완료되기 전에 merge에서 나가기
    git merge --quit

  5. 본인의 원격 저장소에 push하고, pull request를 보낸다.
  6. 리더가 Merge pull request한다.

pull request 후 merge 전으로 돌아가기

=> git hub에서 해당 pull request revert시키기

clone 후 본인의 원격 저장소에 push하기

  1. clone한 자료의 remote를 제거한다.
    git remote remove origin
  2. remote에 본인의 url을 추가한다.
    git remote add origin url
  3. 원격 저장소에 push한다.
    git push -u origin main

branch의 일부 파일(폴더)만 가져올 때

=> git checkout 가져올branch이름 파일(폴더)경로

github의 폴더에 들어가지지 않을 때

github의 저장소에서 폴더의 모양에 화살표가 표시되고 클릭되지 않을 때 해결 방법

git rm --cached . -rf
profile
어제의 나보다 1% 발전하기💪

0개의 댓글