시스템 개발 및 관리/Git 사용법 32

Git 브랜치와 HEAD 개념 정리

Git을 사용하다 보면 HEAD와 Branch(브랜치) 개념을 이해하는 것이 중요합니다. 이번 글에서는 이를 쉽게 설명하고, 관련된 개념을 정리해보겠습니다.  HEAD와 Branch의 관계 Git에서 HEAD는 현재 가리키고 있는 커밋을 의미합니다. 보통 HEAD는 특정 브랜치를 가리키며, 브랜치는 여러 커밋을 관리하는 하나의 흐름입니다.💡 정리HEAD → 특정 커밋을 가리킴Branch → 코드 관리 흐름 (하나의 작업 단위)  브랜치란 무엇인가? Git에서 브랜치는 코드의 흐름을 나누어 관리하는 개념입니다. 새로운 기능을 개발하거나, 버그를 수정할 때 독립적인 브랜치를 만들면 효율적으로 관리할 수 있습니다.💡 정리브랜치는 특정 커밋을 가리키는 포인터이다.새로운 기능을 개발할 때 별도의 브랜치를 만들..

Git 브랜치와 원격 저장소(Remote Repository) 개념 정리

Git에서 로컬 저장소(Local Repository)와 원격 저장소(Remote Repository)를 다루는 것은 매우 중요합니다. 이번 글에서는 원격 저장소를 추가하고 브랜치를 관리하는 방법을 살펴보겠습니다.  원격 저장소(Remote Repository) 추가로컬 저장소에서 원격 저장소를 추가하는 방법은 다음과 같습니다.git remote add origin https://github.com/kyuri-dev/Math_Box.git명령어 설명git remote add → 새로운 원격 저장소를 등록하는 명령어origin → 원격 저장소의 기본 이름 (원하는 다른 이름을 사용할 수도 있지만, 일반적으로 origin을 사용)https://github.com/kyuri-dev/Math_Box.git → ..

Git Merge Conflict 해결 vs. 취소 방법

Git에서 브랜치를 병합(merge)할 때 충돌(conflict)이 발생할 수 있습니다. 보통 충돌을 해결한 후 커밋하여 병합을 완료하지만, 경우에 따라서는 병합 자체를 취소하는 방법도 있습니다.  Merge Conflict 해결 방법 병합을 시도했을 때 충돌이 발생하면, 아래와 같이 conflict 영역이 표시됩니다. 이때, 충돌이 발생한 파일을 열어 conflict를 직접 해결해야 합니다. 예를 들어, calculator.py 파일이 아래처럼 충돌을 일으켰다면:  원하는 코드로 수정합니다.파일을 저장한 후 git add로 변경 사항을 스테이징합니다.git commit을 실행하여 병합을 완료합니다.  Merge 취소 방법머지를 취소하고 이전 상태로 되돌아가고 싶다면 위의 명령어를 사용하면 됩니다. 이 ..

merge와 conflict

Git은 여러 개발자가 동시에 작업할 수 있도록 브랜치를 관리하는 데 중요한 역할을 합니다. 그러나 때때로 서로 다른 브랜치에서 동일한 파일을 수정했을 경우 **병합 충돌(Merge Conflict)**이 발생할 수 있습니다. 이번 블로그에서는 git merge 명령어를 사용하여 병합을 시도할 때 발생할 수 있는 충돌을 어떻게 해결하는지에 대해 알아보겠습니다.   git merge 명령어로 브랜치 병합 시도하기 첫 번째로, 브랜치 병합을 시도하는 과정에서 충돌이 발생할 수 있습니다. 예를 들어, premium 브랜치에서 master 브랜치의 변경 사항을 병합하려고 할 때, 변경된 파일에서 충돌이 발생할 수 있습니다.   병합 충돌 확인하기 병합 충돌이 발생하면, Git은 충돌이 발생한 파일을 자동으로 ..

브렌치 merge하기

Git에서 브랜치는 독립적인 작업 환경을 제공하며, 여러 기능을 동시에 개발할 수 있는 매우 중요한 도구입니다. 때때로, 서로 다른 브랜치에서 작업을 진행한 후, 이들을 하나의 브랜치로 합쳐야 할 때가 있습니다. 이때 사용하는 명령어가 바로 **git merge**입니다. 이번 블로그에서는 git merge 명령어를 통해 브랜치를 어떻게 병합하는지 알아보겠습니다.   git merge: 브랜치 병합하기  git merge 명령어는 하나의 브랜치에서 다른 브랜치의 변경 사항을 가져와 병합하는 기능을 합니다. 예를 들어, master 브랜치에서 작업한 내용을 premium 브랜치에 병합할 때 다음과 같이 명령어를 사용할 수 있습니다. $ git checkout premium$ git merge master위..

브렌치 명령어

Git은 소스 코드 관리를 위한 강력한 도구로, 개발자들이 효율적으로 작업을 진행할 수 있도록 돕습니다. 그 중에서도 브랜치(branch) 기능은 매우 중요한 역할을 합니다. 이번 블로그에서는 Git의 두 가지 유용한 명령어인 **git branch -d**와 **git checkout -b**에 대해 알아보겠습니다.  git branch -d: 브랜치 삭제하기$ git branch -d feature/login  git branch -d 명령어는 현재 로컬 저장소에서 특정 브랜치를 삭제할 때 사용됩니다.  git checkout -b: 새로운 브랜치 생성 및 전환$ git checkout -b feature/signup git checkout -b 명령어는 새로운 브랜치를 생성하고, 동시에 그 브랜..

브랜치란?

소프트웨어 개발에서 여러 명의 개발자가 동시에 작업을 할 때, 서로 충돌 없이 효율적으로 코드를 관리하는 방법이 필요합니다. 바로 Git의 브랜치(branch) 기능이 그 해결책이 됩니다. Git 브랜치는 프로젝트 내에서 독립적인 작업 영역을 제공하여, 다양한 실험을 하거나 기능을 추가할 때 유용하게 사용할 수 있습니다. 이번 블로그에서는 Git의 브랜치 개념과 사용 방법에 대해 알아보겠습니다.  Git 브랜치란? Git에서 "브랜치"는 하나의 코드 흐름을 관리하는 독립적인 작업 영역을 말합니다. 여러 개발자가 동시에 작업할 수 있도록 하는 매우 중요한 개념인데요. 각 개발자는 자신의 브랜치에서 작업을 진행하고, 나중에 이를 메인 브랜치로 병합할 수 있습니다. 이를 통해 개발 중인 기능이 다른 기능에 영..

커밋에 tag 달기

우리는 커밋을 할 때 해당 커밋에 관한 정보를 커밋 메시지로 남기는데요. 그런데 커밋 중에서는 다른 것들보다 좀더 중요한 의미가 있는 커밋들도 있습니다. 이런 중요한 커밋에는 커밋 메시지뿐만 아니라 태그(tag)라는 것을 추가적으로 달기도 합니다. 보통 프로젝트에서 주요 버전의 시작점이 되는 커밋에 이렇게 태그를 다는데요. 잠깐 아래 그림을 봅시다. 아래 그림에서 첫 번째 커밋에는 Version 1이라는 태그를 달고, 여섯 번째 커밋에는 Version 2라는 태그를 달고 싶다고 해봅시다.아래와 같은 형식으로 태그를 달아줄 수 있는데요. git tag [태그 이름] [커밋 아이디]총 2개의 태그를 달았습니다. 그 다음에 이 프로젝트 디렉토리에 있는 모든 태그를 조회해볼게요. git tag제가 추가했던 Ve..

HEAD를 기준으로 git reset

git reset을 할 때는 보통 아래와 같은 형식으로 쓰는데요. git reset [옵션] [커밋 아이디] 그런데 이렇게 커밋 아이디를 쓰려면 매번 커밋 아이디를 찾아야한다는 불편함이 조금 있습니다. 사실 [커밋 아이디] 자리에 다른 걸 써줘도 되는데요. 예를 들어 이런 커밋 히스토리가 있다고 합시다.지금 가장 오래된 첫 번째 커밋부터 최신 커밋인 여섯 번째 커밋까지 번호를 붙인 상태입니다.(1 -> 2 -> 3 -> 4 -> 5 -> 6) 지금처럼 HEAD가 6번 커밋를 가리키는 상태에서, 만약 5번 커밋으로 --hard 옵션과 함께 git reset하고 싶다면 이렇게 써야겠죠?git reset --hard 7f3d하지만 이렇게 쓰지 않고 이렇게 써도 됩니다.git reset --hard HEAD^ ..

Git reset의 3가지 옵션

Git에서 git reset 명령어는 주로 과거의 특정 커밋으로 되돌아갈 때 사용됩니다. 이 명령어는 HEAD, staging area, working directory를 어떻게 처리할지에 대한 다양한 옵션을 제공합니다. 이번 포스트에서는 git reset 명령어의 사용 방법과 옵션을 자세히 살펴보겠습니다.   Git Reset 기본 개념 git reset 명령어는 Git의 커밋 이력을 되돌리거나, 작업 상태를 특정 시점으로 되돌리는 데 사용됩니다. 각 옵션은 커밋 상태를 어떻게 되돌릴 것인지에 대한 다른 결과를 만듭니다. 이 명령어는 주로 세 가지 옵션과 함께 사용됩니다: --soft, --mixed, --hard.  먼저, git reset 명령어의 각 옵션이 어떻게 다르게 동작하는지에 대해 표로 ..