[Project] 플레이데이터 장고 미니프로젝트 - git hub 협업

싱숭생숭어·2023년 5월 13일
0

project

목록 보기
2/5

git clone 할때 ssh로 해야하는 이유

  • http로 git clone 했을 경우 git push 할때마다 username과 password를 입력하라고 뜸

  • ssh로 등록할 경우 한번만 git hub에 ssh key를 등록해놨을 경우 git push 할때마다 password를 입력하지 않아도 됨!

  • 만약 git clone을 http로 했을 경우, ssh로 바꿔주는 방법 : git remote set-url origin (내 github ssh 주소)

git hub 주인이 아닌 조원이 git hub 접속 시

1) VSCODE 터미널에서 git clone (내 github ssh 주소)

2) git remote -v로 git에 잘 연결되어있는지 확인

3) git branch -r로 현재 git hub안에 만들어져있는 모든 branch 확인

4) git branch로 현재 내 로컬 저장소 안에 있는 모든 branch 확인

5) branch가 있을 경우, git checkout 원하는branch명으로 현재 나의 연결된 branch 변경
5-1) 만약 branch가 없을 경우, git branch 원하는branch명으로 로컬 저장소 안에 branch 만들기

6) git clone한 상태라서 git init은 필요 없음 ! 로컬 저장소 내의 파일을 수정한 뒤에, git add . + git commit -m "남기고 싶은 커밋이름" + git push origin branch명 을 통해 git branch로 나의 수정사항을 반영한 파일을 git hub에 업로드 가능 ~

  • git add . 하고 git commit전에 git status를 하면, commit하기전에 현재 수정사항을 한번 더 확인할 수 있음

  • 다음번에 다시 git push하려는 과정을 가지려면 git pull origin branch명을 먼저 해주고 add, commit, push을 해주면 된다 !

  • git push 하는 과정에서 conflict(충돌)이 발생하면 merge를 통해 수정사항끼리의 충돌을 막아주는 일련의 과정을 거쳐야 함

  • 자주자주 수정완료된 git을 pull하는 과정을 거칠 것 !

git pull과 fetch의 차이점

  • clone이란 원격 저장소(git hub 저장소)를 복제한 저장소(=나의 로컬 저장소)

    • 복사한 git hub의 소스 코드 복사본을 생성한 것으로, 개발을 할때 보통 클론 저장소에서 작업을 진행함
  • 원격 저장소(git hun 저장소)에 변경 사항이 생겼다면, 그 내용을 가져와서 클론 저장소를 최신 상태로 유지해주어야 함.
    -> pull과 fetch의 사용

  • git fetch 는 로컬 git에게 원격 저장소에서 최신 메타데이터 정보를 확인하라는 명령을 전달함. 단 fetch에서는 원격 저장소에 변경사항이 있는지 여부만 확인하고, 변경된 데이터를 로컬 git에 실제로 가져오진 않음(이름 없는 임시 브랜치로 최신 commit 코드를 내려받음)

    • git fetch이후 수동으로 merge(병합)하면 git pull처럼 구현가능함.
  • git pull 은 원격 저장소에서 변경된 메타데이터 정보를 확인할 뿐만 아니라 최신 데이터를 복사해 로컬 git에 가져옴

  • 보통의 워크스테이션에는 최소 세개 이상의 프로젝트 복사본이 존재함

    • 1) 사용자의 커밋 기록이 있는 사용자의 저장소(저장된 저장소)
    • 2) 편집 및 작성 중이지만 사용자 저장소에 아직 커밋되지 않은 복사본
    • 3) 원격 저장소의 로컬에 cached 복사본(복제된 원본)
  • git fetch를 사용하면 마지막 pull 이후 원격 저장소 or 브랜치에 적용된 변경 사항을 확인 가능

  • 만약 원격 저장소에 변경 사항이 존재할때 pull을 바로 실행하면 현재 브랜치와 작업 복사본이 파일이 변경되고, 동시에 새로 작업한 내용이 손실되는 일이 생길 수 있음.

  • 따라서 fetch로 변경 사항을 먼저 확인한 후, pull을 실행하는 방법이 보다 안전함 !

  • git log라는 명령어로 commit 내역도 확인 가능

출처

git 공부할때 참고하면 좋을 블로그 정리

profile
공부합시당

0개의 댓글