IT/GIT

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

파파대니 2024. 11. 4. 11:35

목차

    728x90
    반응형

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

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

    GIT은 소프트웨어 개발에서 필수적인 버전 관리 시스템입니다.

    특히 여러 사람이 협업하는 프로젝트에서는 GIT을 통해 변경 사항을 체계적으로 관리하는 것이 매우 중요합니다.

    이번 글에서는 GIT을 처음 사용할 때 로컬 저장소를 생성하고 원격 저장소로 푸시하는 방법, 그리고 원격 저장소에서 소스를 가져와 작업을 시작하는 방법을 단계별로 소개하겠습니다.

    그리고, 실수로 원격 저장소에 커밋한 내용을 초기화해야 할 경우에 유용한 방법도 소개하려고 합니다.

     

    1. 로컬에서 저장소 생성 후 원격으로 푸시하는 순서

    1단계: git init - 로컬 저장소 초기화

    새로운 프로젝트를 시작하려면 먼저 해당 프로젝트 폴더에서 GIT을 초기화합니다.

    cd 프로젝트_폴더
    git init
    git init 명령어는 현재 폴더를 GIT이 관리하는 로컬 저장소로 설정하고, .git 폴더를 생성합니다.
     
     

    2단계: 파일 추가 (git add)

    프로젝트 파일을 생성하거나 수정한 후, 이를 GIT의 스테이징 영역에 추가합니다.

    git add .

    .은 폴더 내 모든 파일을 스테이징하는 것을 의미합니다.

    특정 파일만 추가하려면 git add 파일이름을 사용합니다.

     

    3단계: 커밋 생성 (git commit)

    스테이징 된 파일을 커밋하여 변경 사항을 기록합니다.

    git commit -m "첫 커밋 메시지"
    커밋 메시지는 해당 변경 사항을 설명하는 내용으로 작성하는 것이 좋습니다.
     

    4단계: 원격 저장소 연결 (git remote add origin)

    로컬 저장소를 원격 저장소에 연결합니다.

    GitHub나 GitLab 같은 GIT 호스팅 서비스에서 원격 저장소 URL을 생성한 후 이를 사용합니다.

    git remote add origin https://github.com/사용자명/저장소명.git
    origin은 원격 저장소의 이름이며, 주로 기본 값으로 사용됩니다.
     

    5단계: 로컬 커밋을 원격 저장소로 푸시 (git push)

    로컬에서 커밋한 내용을 원격 저장소에 업로드합니다.

    git push -u origin main

    -u 옵션은 이후 푸시(push)나 풀(pull)을 편리하게 해주는 설정입니다.

    main은 메인 브랜치 이름으로, 필요에 따라 다른 브랜치명을 사용할 수 있습니다.


    2. 원격 저장소에서 로컬로 가져와 작업하는 순서

    1단계: git clone - 원격 저장소를 로컬로 복제

    GitHub 또는 GitLab에 있는 원격 저장소를 로컬에 복제합니다.

    git clone https://github.com/사용자명/저장소명.git
    이 명령어는 원격 저장소를 복사하여 로컬에 저장소 폴더를 생성하고, 모든 파일과 이력을 다운로드합니다.
     

    2단계: 브랜치 생성 및 전환 (git checkout -b)

    원격 저장소의 코드를 복제한 후, 새로운 기능을 개발하기 위해 브랜치를 생성하고 전환합니다.

    git checkout -b 새_기능_브랜치

    이 명령어는 새로운 브랜치를 만들고 해당 브랜치로 이동합니다.

     

    3단계: 파일 수정 후 추가 (git add)

    작업 파일을 생성하거나 수정한 후, 이를 스테이징 합니다.

    git add .

    현재 디렉터리의 모든 변경 파일을 스테이징 합니다.

     

    4단계: 커밋 생성 (git commit)

    수정한 파일을 커밋하여 기록합니다.

    git commit -m "새 기능 추가"

    커밋 메시지는 해당 변경 사항을 설명하는 내용으로 작성합니다.

     

    5단계: 원격 저장소로 푸시 (git push)

    로컬에서 작업한 내용을 원격 저장소의 해당 브랜치에 푸시합니다.

    git push origin 새_기능_브랜치

     

     

     

    3. 유용한 팁 1 : 원격 저장소 커밋 초기화 방법

    GIT을 사용하다 보면 종종 커밋에 파일을 누락하거나 수정된 파일이 잘못 반영되는 경우가 있는데, 로컬 저장소에서는 쉽게 초기화할 수 있지만 원격 저장소에서는 다른 사용자와의 협업을 고려해야 합니다.

    따라서 원격 저장소 커밋을 초기화하는 방법 두 가지를 준비했습니다.

    다만, 원격 저장소의 커밋을 초기화하면 협업 중인 모든 사람에게 영향을 미치기 때문에, 초기화 전에 다른 사용자에게 협조를 구하는 것이 중요합니다.

     저는 커밋 ID를 이용한 초기화를 사용하는 편입니다.

    1) 커밋 ID를 이용한 초기화

    특정 커밋으로 되돌아가고 싶을 때, 해당 커밋의 ID를 이용해 초기화하는 방법입니다.

    다음 단계를 따라 진행하세요.

     

    1. 터미널을 열고 아래 명령어를 입력하여 초기화할 커밋 ID로 돌아갑니다.

    commit_id에는 돌아갈 커밋의 ID를 입력합니다.

    예를 들어, 마지막 커밋 이전 커밋으로 돌아가려면 그 이전 커밋의 ID를 입력합니다.

    git reset <commit_id>
    
    예) git reset 958f087
     

    2. 변경 사항을 원격 저장소에 반영하려면 다음 명령어를 입력합니다.

    git push origin +브랜치이름
    
    예) git push origin +master
     

    2) 최근 커밋 개수 기준 초기화

    최근 커밋한 작업을 기준으로 여러 커밋을 한 번에 되돌리고 싶을 때 유용한 방법입니다.

    다음 단계를 따라 진행하세요.

     

    1. 터미널을 열고, 되돌리고 싶은 커밋의 개수를 입력하여 초기화합니다.

    git reset --hard HEAD~3

    여기서 3은 최근 3개의 커밋을 되돌린다는 의미입니다.

    필요에 따라 다른 숫자를 입력해 최근 커밋 개수를 조정할 수 있습니다.

     

    2. 변경 사항을 원격 저장소에 반영하려면 다음 명령어를 입력합니다.

    git push origin +브랜치이름
    
    예) git push origin +master

    4. 유용한 팁 2 : 원격 저장소 복사

    GIT에서는 원격 저장소를 다른 저장소로 복사할 수 있는 기능을 제공하는데, 이를 통해 새로운 프로젝트를 시작하거나 백업을 생성할 수 있습니다.

    원격 저장소를 복사하는 방법을 아래와 같이 설명하겠습니다.

     

    1. 원격 저장소를 Bare 형식으로 클론 하기 먼저, 기존 원격 저장소를 Bare 형식으로 클론 합니다.

    Bare 저장소는 작업 파일이 아닌 Git 메타데이터만 포함된 저장소로, 주로 다른 저장소의 복사본을 만들 때 사용됩니다.

    Bare 저장소는 일반적으로 협업 중인 다른 개발자들이 직접 사용할 수 없도록 설정됩니다.

    git clone --bare x.git

    여기서 x.git은 원격 저장소의 주소입니다.

    이 명령어를 입력하면, x.git의 모든 커밋 이력과 파일들을 Bare 저장소로 클론 하게 됩니다.


    2. 복사한 저장소 디렉터리로 이동 클론이 완료되면 해당 저장소의 디렉터리로 이동합니다.

    cd x.git

     

    3. 새로운 원격 저장소로 푸시하기 이제 클론 한 Bare 저장소를 새로운 원격 저장소 y.git에 푸시합니다.

    이때 --mirror 옵션을 사용하면, 원본 저장소의 모든 브랜치와 태그를 그대로 복사할 수 있습니다.

    git push --mirror y.git

    여기서 y.git은 복사될 새로운 저장소의 주소입니다.

    이 명령어를 입력하면 x.git의 모든 내용이 y.git으로 전송되며, 결과적으로 y.git은 x.git의 완전한 복사본이 됩니다.



    지금까지 GIT 기본 사용법과 유용한 팁을 알아보았습니다.

    이 글이 여러분에게 도움이 되었으면 좋겠습니다.

    감사합니다.

     

     

    ⬇️ 참고하면 좋은 글 ⬇️

     

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

     

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

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

    papa-danny.tistory.com

     

    GIT 설치 방법 알아보기

     

    GIT 설치 방법 알아보기

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

    papa-danny.tistory.com

     

    728x90
    반응형