스파르타코딩 클럽/기초

Git | Fork로 Git Hub 연결해서 사용하기

UDDT 2025. 3. 14. 11:54

 

Git Hub 사용하기

 자주 혼동하는 개념

   1. Git vs Git Hub

      Git : 분산 버전 관리 시스템 

      Git Hub : Git 저장소를 올리는 Hub 사이트(구글 드라이브 같은 개념)

      * Git 없이 Git Hub 사용은 불가능하지만, Git Hub 없이 Git 사용은 가능함

 

   2. Push vs Pull

       Push : 로컬 저장소의 변경 사항을 원격 저장소(GitHub 등)로 업로드(로컬 -> 원격)

       Pull :  원격 저장소(GitHub 등)의 변경 사항을 로컬 저장소로 가져오기(원격 -> 로컬)

       * Git hub에 내용을 올릴 때는 Push, Git hub의 내용을 받을 때는 Pull

 

   3.  Git 용어들

        Commit : 변경 사항을 로컬 저장소에 기록

        Push : 로컬 저장소의 변경사항을 원격 저장소로 업로드

        Pull : 원격 저장소의 변경 사항을 로컬로 가져오는 것

        Clone : 원격 저장소를 복사해서 로컬에 처음 다운로드하는 것(초기 다운로드)

        Fetch : 원격 저장소의 변경 사항을 가져오되 자동 병합은 하지 않는 것(새로고침)

        Merge : 가져온 변경 사항을 현재 브랜치에 병합하는 것

        Rebase : 브랜치를 병합할 때 새로운 기반으로 재구성하는 것

 

        Branch : 독립적인 개발을 위한 가지(기본 브랜치는 main)

        Main : Git 저장소의 기본 브랜치

        Feature Breanch : 기능 개발을 위한 브랜치

        Checkout : 다른 브랜치로 이동하거나 특정 커밋으로 전환하는 것

        HEAD : 현재 작업 중인 브랜치를 가리키는 포인터

        Detached HEAD : 특정 커밋에 머물러 있는 상태

    

        Fork : 다른 사람의 저장소를 내 GitHub 계정으로 복사

        PR(Pull Request) : 변경 사항을 원래 저장소에 병합 요청(GitHub에 반영하고자 할 때)

        Upstream : 원본 저장소

        Origin : 내 로컬 저장소와 연결된 원격 저장소

 

        Conflict : 두 개의 브랜치에서 같은 파일을 수정하면 충돌이 발생하는 것

        Resolve Conflict : 충돌 해결 후 다시 병합하는 것

        Reset : 커밋을 되돌리는 명령어

        Revert : 특정 커밋을 취소하는 새로운 커밋을 생성하는 것(기록 유지)

        Squash : 여러 개의 커밋을 하나로 합치는 작업

        Stash : 현재 변경사항을 임시로 저장하고, 나중에 다시 적용할 수 있는 것

 

 

 Git Hub 세팅

      1. Git Hub 로그인하기

 

      2. New repository 만들기

 

      3. repository 만들기

 

 Fork 연결하기

      1. Fork 실행하기

 

    2. File - Clone... 클릭하기

 

  3. Fork가 생성해준 폴더로 가서 생성한 Xcode 파일(PlayGround) 붙여넣기

   * git 연결이 잘 되었는지 확인하려면 ⌘ + shift + . 하여 숨겨진 파일 중 .git이 있는지 확인하면 됨.

 

  4. Fork로 가면 Local Changes 확인 가능 

 

 

 Fork 커밋하기

      1. Local Changes 클릭 - Stage에 파일 올리기 - 내용 작성 후 Commit

 Fork Push하기

      1. Commit 우클릭 - Push 'main' to 'origin'

 Fork Pull 하기

      1. 항목(대상) 선택 - Pull 클릭

 

      2. 상황에 따라 체크 박스 선택 후 Pull