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개의 댓글

관련 채용 정보