IT/GIT

GIT GitHub 사용하기(Commit & Push 실행 및 에러 해결)

파파대니 2024. 11. 7. 21:46

목차

    728x90
    반응형

    GIT GitHub 사용하기(Commit & Push 실행 및 에러 해결)

    안녕하세요. 파파대니입니다.

    오늘은 GitHub를 사용하는 방법에 대해 간단하게 소개해드리겠습니다.

    복잡하게 설명하면 이해하기 어려울 수 있지만, 우리는 GitHub의 기본적인 기능을 이해하고 코드 관리를 손쉽게 하는 것이 목표입니다.

    따라서, GitHub가 무엇인지, 어떻게 사용하고 내 코드를 어떻게 올리는지 단계별로 알려드리겠습니다.

     

    1. GitHub 란?

    GitHub는 Git을 기반으로 한 웹 기반 소스 코드 관리 플랫폼으로, 버전 관리와 협업을 위한 도구입니다.

    개발자들이 코드를 저장하고, 수정 내역을 기록하며, 공동 작업을 할 수 있도록 지원합니다.

    GitHub의 주요 기능은 다음과 같습니다:

    • 버전 관리: Git을 통해 코드 변경 사항을 추적하고, 다양한 버전을 관리할 수 있습니다.
    • 협업: 다른 개발자와 Pull Request 기능을 사용해 코드 수정 제안을 공유하고, 협력할 수 있습니다.
    • 리포지토리 관리: 프로젝트별로 리포지토리를 생성하여 코드, 문서, 이슈 등을 관리합니다.
    • Fork와 Clone: 다른 프로젝트를 Fork(복사)하거나 Clone(다운로드)하여 로컬 환경에서 수정 후, 원본 리포지토리에 수정 사항을 제출할 수 있습니다.
    • GitHub Actions: CI/CD(지속적 통합 및 배포)를 설정하여 테스트와 빌드를 자동화할 수 있습니다.

    이 외에도 GitHub는 프로젝트 관리 도구, 문서화 기능, 코드 리뷰, 오픈 소스 협업 플랫폼으로 많이 활용됩니다.


    2. GitHub 가입 및 저장소 생성

    구글에서 'GitHub'를 검색해 상단의 링크로 접속합니다.

     

    계정이 없다면 회원가입을 하고, 있다면 로그인합니다.

     

    왼쪽의 New 버튼을 클릭하여 리포지토리 생성 화면으로 이동합니다.

    원하는 리포지토리 이름을 입력하고, 아래 Create repository 버튼을 클릭하면 리포지토리가 생성됩니다.

     

    예를 들어, https://github.com/id/test.git라는 주소의 리포지토리가 생성됩니다.

    우측 버튼을 클릭해 주소를 복사합니다.


    3. 리포지토리 연결 및 코드 업로드

    리포지토리 연결과 코드 업로드는 GitHub가 제공하는 가이드를 통해 명령어로 진행할 수 있습니다

    명령 프롬프트에서 작업하며, 코드 저장 폴더에서 명령어를 입력합니다.

    • 1) echo "# test" >> README.md
      README.md 파일에 # test라는 텍스트를 추가해 첫 번째 파일을 생성합니다.
    • 2) git init
      현재 디렉터리를 Git 리포지토리로 초기화합니다.
    • 3) git add README.md
      README.md 파일을 스테이지에 추가해 커밋할 준비를 합니다.
    • 4) git commit -m "first commit"
      스테이지에 추가된 파일을 커밋합니다. 오류 발생 시, git config로 사용자 설정을 추가해야 합니다.
    • 5) git branch -M main
      브랜치 이름을 main으로 변경합니다.
    • 6) git remote add origin https://github.com/아이디/test.git
      원격 리포지토리와 연결합니다.
    • 7) git push -u origin main
      로컬 리포지토리의 main 브랜치를 원격에 푸시합니다.

    4. 에러 해결 방안

    1) unable to auto-detect email address 에러

    git commit -m "first commit"에서 unable to auto-detect email address 오류가 발생한 경우

    git config --global user.email "이메일" 및 git config --global user.name "이름"을 입력해 주세요.

    commit 처리 시 이력에 남을 정보들입니다.

     

    2) emote origin already exists 에러

    git remote add origin에서 remote origin already exists 오류가 발생한 경우

    git remote rm origin을 실행한 후 다시 시도하세요.

     

     

     

    3) src refspec main does not match any 에러

    git push -u origin main에서 src refspec main does not match any 오류가 발생한 경우

    git pull origin main 실행한 후 다시 시도하세요.

     


    5. 원격 리포지토리 확인

    GitHub 저장소에 들어가서 보면 Commit 한 파일이 저장소에서 확인되는 것을 알 수 있습니다.


     

    6. Git 작업 흐름

    실제 실무에서 GIT 사용 흐름은 다음과 같습니다.

    1. 로컬 저장소를 원격 저장소와 연결
      처음 시작 시 원격 저장소를 로컬에 복제합니다.
    2. 원격 저장소로부터 Pull
      원격 저장소의 최신 버전을 가져옵니다.
    3. 로컬에서 Commit
      수정 사항을 로컬 저장소에 커밋합니다.
    4. 원격 저장소에 Push
      로컬 변경 사항을 원격 저장소에 업로드합니다.

    1번은 처음에만 수행하고, 그 이후에는 2~4번을 반복합니다.

    순서에 유의하여 작업하면 충돌을 줄이고 원활하게 사용할 수 있습니다.


     

    지금까지 GitHub 저장소를 생성하고 커밋하는 것까지 알아보았습니다.

    명령어로 파일을 업로드하는 방식이 불편하기 때문에 GIT GUI 툴을 알아보고 쓰는 것이 좋습니다.

    감사합니다.

     

     

    ⬇️ 참고하면 좋은 글 ⬇️

     

    GIT 설치 방법 알아보기

     

    GIT 설치 방법 알아보기

    목차GIT 설치 방법 알아보기안녕하세요. 파파대니입니다. 오늘은 많은 개발자들이 사용하는 Git을 설치하는 방법에 대해 알아보려고 합니다. Git이 무엇인지 간단히 설명드리고, Windows에서 Git을

    papa-danny.tistory.com

     

    GIT 기본 사용법과 유용한 팁(커밋 초기화 및 저장소 복사/저장소 백업)

     

    GIT 기본 사용법과 유용한 팁(커밋 초기화 및 저장소 복사/저장소 백업)

    목차GIT 기본 사용법과 유용한 팁(커밋 초기화 및 저장소 복사/저장소 백업)안녕하세요. 파파대니입니다.GIT은 소프트웨어 개발에서 필수적인 버전 관리 시스템입니다.특히 여러 사람이 협

    papa-danny.tistory.com

     

    GIT .gitignore 사용법 및 작동하지 않을 때 해결 방법

     

    GIT .gitignore 사용법 및 작동하지 않을 때 해결 방법

    목차GIT .gitignore 사용법 및 작동하지 않을 때 해결 방법안녕하세요. 파파대니입니다.Git을 사용하다 보면 불필요한 파일이 커밋되어 코드베이스가 어지러워지거나, 중요한 정보가 포함된

    papa-danny.tistory.com

     

    초보자를 위한 Sourcetree 사용법 가이드: GIT GUI 툴 소스트리 쉽게 배우기

     

    초보자를 위한 Sourcetree 사용법 가이드: GIT GUI 툴 소스트리 쉽게 배우기

    초보자를 위한 Sourcetree 사용법 가이드: GIT GUI 툴 소스트리 쉽게 배우기안녕하세요. 파파대니입니다. 이전 포스트에서 Git의 기본 사용법과 GitHub을 활용하는 방법에 대해 알아보았습니다.

    papa-danny.tistory.com

     

    728x90
    반응형