Github 이론편

동그라미·2024년 10월 23일
1

Local 저장소

  • 내 컴퓨터에 저장된 Git 저장소입니다.
  • Local 저장소에 코드를 작성하고, 변경 사항을 커밋(Commit)하여 기록합니다.
    원격 저장소와 로컬 저장소
    Git에서 Local과 Remote는 각각의 저장소가 위치한 곳을 의미

Local 저장소

  • 내 컴퓨터에 저장된 Git 저장소입니다.
  • Local 저장소에 코드를 작성하고, 변경 사항을 커밋(Commit)하여 기록합니다.

Remote 저장소

  • 원격 저장소에 저장된 Git 저장소입니다.
  • 여러 개발자가 원격 저장소를 통해 협업할 수 있습니다.
  • origin 키워드가 가끔 보이는데 remote라고 생각하면 됩니다.
  • Local에서 작업한 변경사항을 다른 사람들과 공유하려면 Remote 저장소에 변경사항을 업데이트해야 합니다.
    • Push나 Pull Request를 사용합니다.
  • 반대로 Remote 저장소에서 작업한 내용을 가져오려면 풀(Pull) 명령어를 사용해서 Local 로 내려받을 수 있습니다.

아이디 등록

git을 사용하는 사람이 누구인지 표시하기 위해 이름과 이메일을 등록해야 합니다.

나중에 작업을 누가 어디서 했는지 식별하기 위해서 사용합니다.

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

아이디 등록 확인

git config --list

- git init

  • 새로운 로컬 git repository(저장소)를 생성합니다.
  • .git 디렉토리가 생성되고, 해당 폴더에서 모든 변경 사항이 Git으로 관리되기 시작합니다.
  • 원격 저장소가 없고 원격저장소에 코드를 올리려면 동기화 작업이 필요합니다.
  • 첫 commit을 하지 않는다면 branch 만들거나 수정할 수 없습니다.

git init - 명령어를 생성한다.

- git clone

  • 원격 저장소(Remote Repository)를 복제하여 로컬 저장소로 가져옵니다.
  • 이미 존재하는 원격 저장소에서 프로젝트를 내려받아 로컬에서 작업을 시작할 때 사용합니다.
  • push, pull 등을 사용하여 원격저장소와 로컬저장소의 싱크를 맞출 수 있습니다.

git clone URL - URL에 있는 Remote Repository를 현재 폴더에 클론하여 가져옵니다.

독립적인 작업흐름을 관리하는 방법

  • Branch라는 개념을 사용하여 프로젝트 내에서 독립적인 작업 흐름을 만들기 위한 기능을 제공합니다.
  • 브랜치는 프로젝트의 코드 베이스에서 새로운 작업 공간을 분리하여,
    기존 코드에 영향을 주지 않고 새로운 기능을 개발하거나 버그를 수정할 수 있습니다
  • 나뭇가지처럼 새로운 작업흐름을 만들 수 있습니다.
    처음 git repository를 만들면 main 또는 master 브랜치가 기본 생성됩니다.

이럴때 사용됩니다 -> 새로운 기능을 개발,버그 수정, 여러 개발자가 각자의 공간을 만들어서 사용

git branch

  • branch의 목록을 확인할 때 사용하는 명령어

  • 초록색으로 표시되어 있는것이 현재 branch

    git branch 새로운브랜치이름

  • 새로운 branch를 만들 때 사용하는 명령어


    git switch 브랜치이름

  • 현재 작업중인 브랜치를 변경하는 명령어

  • 예전에는 git checkout을 사용했지만 현재는 switch를 사용하면 됩니다.

  • 현재 브랜치에서 수정사항이 없을 때 변경이 가능합니다.

    • 수정 사항이 있을 때는 수정사항을 삭제하거나, 커밋을 해서 수정사항을 없애주어야 합니다.



변경사항을 저장하는 방법

  • 변경사항을 저장하기 위해서는 변경된 파일을 스테이지에 올리고 commit을 하면 됩니다.

변경사항을 저장하는 방법

  • 변경사항을 저장하기 위해서는 변경된 파일을 스테이지에 올리고 commit을 하면 됩니다.

git commit -m "커밋 메시지"

- 위의 형태로 작성합니다. 커밋 메시지 부분은 어떤 작업을 했는지 작성하곤 합니다.

git status

  • Git에서 현재 작업 중인 디렉토리(폴더)의 상태를 볼 수 있습니다.
  • 현재 작업 중인 브랜치, 스테이징된 파일, 수정된 파일 등등을 확인할 수 있습니다.

변경사항을 remote와 싱크를 맞추는 방법

git fetch

  • 원격 저장소의 변경 사항을 로컬로 가져오지만, 병합하지 않는 명령어 입니다.
  • 최신 상태를 로컬 저장소로 가져오지만, 로컬 브랜치에 반영하지 않습니다.
  • 원격 저장소에서 어떤 변경 사항이 있는지 확인 후, 필요에 따라 수동으로 병합할 수 있습니다.

git fetch origin
git fetch origin/main

  • 원격 저장소(origin)의 모든 브랜치에서 최신 변경 사항을 가져올 수 있고,
    특정 브랜치의 최신 변경 사항을 가져올 수 있습니다.

git merge

  • 두개의 브랜치의 변경사항을 하나로 합치는 명령어입니다.
  • 두 브랜치에서 같은 파일의 같은 부분을 다르게 수정했을 때 충돌이 발생할 수 있으며, 이 때 충돌을 수동으로 해결해야 합니다.
    git merge 브랜치이름
    git merge

git pull

  • 원격 저장소의 변경 사항을 로컬 저장소로 가져와 병합하는 명령어 입니다.
  • git fetch 와 git merge 를 한번에 처리해줍니다.
    git pull origin 브랜치 이름
    git pull origin main
    git pull origin master

git push

  • 로컬 저장소에 커밋된 변경사항을 원격 저장소로 업로드 합니다.
    git push origin 브랜치이름
    git push origin main
    git push origin feature1
profile
맨날 최선을 다하지는 마러라. 피곤해서 못산다.

0개의 댓글