본문 바로가기
Dev/etc

Git 사용법: 원격 저장소, 복제, 커밋, 푸시, 풀, 머지 충돌 해결, remote Repository, clone,commit, push, pull,merge conflict

by 허연동백hipublic2020 2023. 8. 3.

목차

    Git 사용법: 원격 저장소, 복제, 커밋, 푸시, 풀, 머지 충돌 해결 [ remote Repository, clone, commit, push, pull, merge conflict ]

    소개

    Git은 버전 관리 시스템(VCS)으로, 코드와 파일의 변경 이력을 효과적으로 관리하는 도구입니다. 이 블로그 포스팅에서는 Git의 주요 기능과 사용법을 설명하고, 원격 저장소에 대해 자세히 알아보겠습니다. 원격 저장소를 추가하고, 복제하며, 변경사항을 커밋하고, 푸시하고, 풀하며, 머지 충돌을 해결하는 방법을 다룰 것입니다.

    1. 로컬 저장소 만들기

    로컬에서 Git을 사용하기 위해 저장소를 만들어야 합니다. 다음 명령어로 빈 디렉토리에 Git 저장소를 생성할 수 있습니다.

    git init

    2. 파일 커밋하기

    로컬 저장소에 변경된 파일을 커밋하여 이력을 남길 수 있습니다. 먼저 파일을 스테이징하고(commit-ready 상태로 만듦) 커밋합니다.

    git add <파일 이름>
    git commit -m "커밋 메시지"

    3. 원격 저장소 추가하고 그곳에 푸시하기

    GitHub, GitLab, 또는 Bitbucket과 같은 원격 저장소를 추가하여 협업하고 공유할 수 있습니다. 먼저 원격 저장소 주소를 설정하고 푸시합니다.

    git remote add origin <원격 저장소 URL>
    git push -u origin master

    4. 원격 저장소 복제하기

    원격 저장소를 로컬로 복제하여 자신의 컴퓨터에서 작업할 수 있습니다. 다음 명령어로 복제할 수 있습니다.

    git clone <원격 저장소 URL>

    5. 원격 저장소에 저장된 내용 땡겨오기

    원격 저장소에 변경사항이 있다면, 로컬로 가져와야 합니다. 다음 명령어로 원격 저장소의 내용을 풀(pull)할 수 있습니다.

    git pull origin master

    6. Merge Conflict 발생 시 해결

    동시에 같은 파일의 같은 부분을 수정하여 충돌이 발생할 수 있습니다. 충돌을 해결하려면 다음과 같이 진행합니다.

    1. 충돌된 파일 열기 및 충돌 부분 확인
    2. 원하는 변경사항 유지하고 다른 부분 삭제 또는 수정
    3. 충돌 해결한 파일을 다시 스테이징하고 커밋
      git add <파일 이름>
      git commit -m "충돌 해결"

    7. 브랜치 관리

    Git은 브랜치를 통해 여러 개발자가 동시에 다양한 작업을 할 수 있도록 지원합니다. 기본 브랜치는 "master"이며, 새로운 브랜치를 만들어서 독립적으로 작업한 뒤, 변경 사항을 합치는 방식으로 개발을 진행합니다.

    • 새 브랜치 생성
    • git branch <새 브랜치 이름>
    • 브랜치 변경
    • git checkout <브랜치 이름>
    • 새 브랜치 생성 및 변경 (한 번에)
    • git checkout -b <새 브랜치 이름>

    8. 리베이스 (Rebase)

    리베이스는 브랜치에서 다른 브랜치로 변경사항을 반영할 때 사용되는 방법입니다. 기존 머지와 비슷하지만 더 깔끔한 커밋 이력을 유지할 수 있습니다.

    # master 브랜치로 이동하여 작업 브랜치의 변경사항을 반영합니다.
    git checkout master
    git pull origin master
    git checkout <작업 브랜치>
    git rebase master

    9. 태그 (Tag)

    태그는 특정 시점에 소스 코드의 상태를 기록하는 방법입니다. 주로 릴리스 버전을 태그로 등록하여 버전 관리에 사용됩니다.

    • Lightweight 태그 (특정 커밋에 이름만 부여)
    • git tag <태그 이름>
    • Annotated 태그 (태그에 메시지와 서명 추가)
    • git tag -a <태그 이름> -m "태그 메시지"

    10. 원격 저장소 연동과 CI/CD 통합

    Git을 사용할 때 원격 저장소와의 연동은 매우 중요합니다. Git 호스팅 서비스(GitHub, GitLab 등)를 활용하여 협업하고, CI/CD 툴을 통해 자동화된 빌드와 배포를 수행할 수 있습니다.

    • 원격 저장소 연동
    • git remote add <리모트 이름> <원격 저장소 URL>
    • CI/CD 통합
      자신이 선호하는 CI/CD 툴과 Git을 연동하여 코드 품질을 유지하고 배포를 자동화할 수 있습니다. (예: Jenkins, Travis CI, CircleCI)

    11. 보안 관리

    Git에는 보안과 관련된 기능들이 있습니다. 자격증명 저장소, GPG 서명 등을 이용하여 보안을 강화할 수 있습니다.

    • 자격증명 저장소
      개인 정보(비밀번호, 토큰 등)를 안전하게 보관할 수 있는 저장소입니다.
    • GPG 서명
      커밋과 태그에 GPG 서명을 추가하여 누군가가 변경사항을 위조하지 않았음을 검증할 수 있습니다.

    12. Git GUI 도구

    Git은 명령줄을 통해 사용할 수 있지만, 시각적인 도구를 활용하면 더 편리하게 작업할 수 있습니다. 다양한 Git GUI 도구들이 있으며, 각자의 취향에 맞는 도구를 선택하여 사용할 수 있습니다. (예: Sourcetree, GitKraken, GitHub Desktop)


    이제 Git의 더 많은 기능과 활용 방법에 대해 알아보았습니다. Git은 협업과 프로젝트 관리에서 매우 유용한 도구이며, 이해하고 익숙해지면 개발 작업의 생산성을 크게 향상할 수 있습니다. 더 많은 개발자들이 Git을 잘 활용하여 더 좋은 소프트웨어를 만들기를 기대합니다. 이제 Git의 기본적인 사용법과 원격 저장소를 활용하는 방법을 알게 되었습니다. Git은 협업과 프로젝트 관리에 필수적인 도구이므로, 익숙해지는 것이 좋습니다. 더 많은 Git 기능과 활용 방법을 학습하여 효율적인 개발과 협업에 도움이 되길 바랍니다.

    반응형

    댓글