git 9

git cherry-pick

git cherry-pick특정 커밋을 선택하여 현재 브랜치에 적용하는 Git 명령어이 명령을 사용하면 한 브랜치에서 다른 브랜치로 선택된 변경 사항을 복사할 수 있어, 필요한 부분만을 가져오는 데 유용하게 사용할 수 있다.예를 들어 test, bugfix, main 브랜치가 있을 때test에서의 C2 커밋과 bugfix에서 C5 커밋을 main 브랜치에 적용하고 싶을 때 아래와 같이 사용할 수 있다.git checkout maingit cherry-pick C2 C5여기서 C2 C5는 해쉬값으로 git log 명령어를 통해 확인이 가능하다.

git/gitCommand 2024.10.14

git reset, git revert

git reset커밋 내역을 삭제하거나 특정 지점으로 돌아가게 만드는 명령어이며, 사용 시 주의가 필요하다.--soft: 지정된 커밋으로 돌아가지만, 그 이후의 변경 사항은 그대로 staging area에 남게 된다.여기서 staging area란? 우리가 커밋을 하기 전에 변경사항을 임시로 저장하는 장소를 의미한다.--mixed (기본 옵션): 지정된 커밋 이후의 변경 사항은 워킹 디렉토리에는 남지만, staging area에서 삭제--hard: 지정된 커밋 이후의 모든 변경 사항을 워킹 디렉토리에서 완전히 제거하기에 복구가 불가능하다.git revert특정 커밋의 변경 사항을 되돌리는 "새로운 커밋"을 생성합니다.이전 커밋을 아예 없애는 것이 아니라 커밋을 추가하여 변경 사항을 되돌리기에, 안전하게 ..

git/gitCommand 2024.10.14

git HEAD

Git에서 HEAD는 현재 체크아웃된 브랜치나 커밋을 가리키는 포인터이며, HEAD는 현재 작업 중인 참조(reference)를 나타낸다.주요 개념브랜치에서의 HEAD : 만약 main 브랜치에서 작업중이라면 일반적인 HEAD는 main을 가리키며, 그 브랜치의 가장 최신 커밋을 참조하고 있다.Detached HEAD: git checkout을 통해 특정 커밋으로 이동하거나 과거 커밋으로 이동하면 생기는 HEAD의 상태이다. 특정 커밋을 직접 가리키며 이 상태에서 커밋을 해도, 해당 커밋은 기존 브랜치와 연결되지 않기 때문에 다른 브랜치로서 분리되어 커밋된다.사용법git checkout 브랜치명: HEAD가 브랜치를 가리키도록 설정되며 Detached HEAD 상태에서 빠져나간다.git checkout ..

git/gitCommand 2024.10.14

git merge, git rebase

둘다 하나의 브랜치를 다른 브랜치와 병합할 때 사용하는 명령어이다.git merge기존 커밋들을 그대로 냅둔 상태로 병합하게 되므로 협업에서 누가 무엇을 했는지 더욱 명확하게 알 수 있다.브랜치 병합먼저 병합 대상 브랜치로 이동한 후, 병합하려는 브랜치 이름을 사용하여 병합하면 된다.git checkout maingit merge 병합할브랜치명(예: test)git rebase기존 커밋들을 다시 재정렬해 한줄로 깔끔하게 표현되지만, 커밋 충돌이 발생할 수 있어 신중하게 사용해야 한다.git checkout 작업중인브랜치명(예: test)git rebase 병합할브랜치명(예: main)커밋 충돌시충돌난 파일을 수정 후 git add 충돌났던파일명을 입력 후 git rebase --continue로 진행이 ..

git/gitCommand 2024.10.11

git checkout

주로 브랜치 전환과 특정 커밋, 파일 또는 태그로 이동할 때 사용되며, 파일의 변경 사항을 되돌리는 데도 사용할 수 있는 명령어브랜치 전환git checkout 브랜치가 없으면 작동하지 않는다.새로운 브랜치 생성 + 전환git checkout -b 깃 로그 확인하기브랜치를 다룰 때 해시값이나 브랜치의 커밋 메시지 등을 확인하는 명령어가 있다.git log해쉬, 커밋 메시지만 간단히 보기git log --oneline특정 커밋으로 체크아웃브랜치가 아닌 특정 커밋으로 디렉토리를 변경할 수 있다.커밋 해시를 사용해 특정 시점의 상태로 이동한 경우 "detached HEAD" 상태가 된다.즉, 현재 커밋의 상태는 그대로 유지되지만 최신 상태는 아니게 된다. (이전 버전에서 작업하게 됨)git checkout 커..

git/gitCommand 2024.10.11

git branch

브랜치는 Git 저장소에서 서로 다른 개발 경로를 만들고 관리할 수 있는 기능이다.git branchGit에서 브랜치를 관리할 때 사용되며, 이를 통해 서로 다른 기능이나 버그 수정을 독립적으로 작업하고, 나중에 통합하거나 삭제하여 프로젝트를 안전하고 효율적으로 관리할 수 있다.새로운 브랜치 생성git branch 브랜치명브랜치 목록 보기git branch생성된 모든 브랜치를 확인할 수 있다. (로컬 포함)브랜치 이름 변경git branch -m 브랜치 삭제안전한 삭제 (변경 사항을 병합하지 않았을 경우 삭제가 거부)git branch -d 브랜치명강제 삭제git branch -D 브랜치명원격 브랜치 목록만 보기git branch -r원격 브랜치 삭제git push origin --delete 브랜치 강..

git/gitCommand 2024.10.11

git commit

1. 커밋이란?내용을 저장하고 버전 이력을 관리할 수 있는 명령어기본 구문git commit -m "요약 메세지"-m: 커밋에 대한 설명을 제공하며 어떤 방식으로 써도 상관은 없지만, 암묵적으로 정해진 태그들이 있다.개발자로서 올바른 커밋의 예버그fix: 버그를 수정한 경우bugfix: 버그 수정 시 사용기능 추가feat: 새로운 기능을 추가할 때add: 새로운 파일 + 기능 추가리팩토링refactor: 코드가 이쁘게 수정되었을 때perf: 성능 향상시문서docs: 문서 작업 이름스타일style: 세미클론이나 공백, 줄바꿈으로 인한 변화테스트test: 테스트 코드 작성시배포build: 빌드 관련 변경ci: CI 설정 파일(YML)이나 스크립트 수정`2. 커밋 과정git add : 파일을 변경 되었다면, ..

git/gitCommand 2024.10.11