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

이전 커밋으로 reset 하기

Git에서 git reset 명령어는 특정 커밋 시점으로 되돌리거나 작업 디렉토리의 상태를 조정하는 데 매우 유용한 도구입니다. 이번 글에서는 git reset 명령어를 사용하여 과거 커밋으로 돌아가는 방법을 다양한 예시와 함께 설명합니다.   Git 명령어와 git reset 활용  **git reset**은 기본적으로 현재 HEAD를 과거의 커밋으로 되돌리는 명령어입니다. 이 명령어는 --soft, --mixed, **--hard**와 같은 다양한 옵션을 통해, 커밋 상태를 어떻게 되돌릴 것인지 설정할 수 있습니다.먼저, git history 명령어로 현재 커밋 기록을 확인하는 모습을 볼 수 있습니다. 여기서 각 커밋은 고유의 해시 값을 가지며, HEAD는 가장 최근 커밋을 가리키고 있습니다.   g..

HEAD의 의미

Git을 사용하다 보면 HEAD라는 용어를 자주 접하게 됩니다. HEAD는 현재 체크아웃된 브랜치의 최신 커밋을 가리키며, Git의 상태를 결정하는 중요한 요소입니다. 이번 글에서는 HEAD의 개념과 역할, 그리고 이를 활용하는 방법을 살펴보겠습니다.  HEAD란?HEAD는 보통 가장 최근의 커밋을 가리킵니다. Git에서 커밋은 하나의 스냅샷과 같습니다. 여러 개의 커밋이 쌓이면, HEAD는 가장 마지막(최신) 커밋을 가리키게 됩니다.🔹 HEAD의 역할최신 커밋을 가리킴새로운 커밋이 발생하면 HEAD도 자동으로 이동특정 커밋으로 되돌아갈 때 HEAD를 해당 커밋으로 이동 가능  Working Directory와 HEAD 이 이미지는 **working directory(작업 디렉터리)**와 HEAD의 관..

두 커밋 간의 차이

커밋 간의 차이를 확인하는 방법소스 코드를 관리하다 보면, 특정 커밋 간의 변경 사항을 확인해야 할 때가 많습니다. 이를 위해 자주 사용되는 두 가지 명령어가 git diff와 git show입니다. 이번 포스트에서는 두 명령어의 차이를 설명하고, 실제 예제를 통해 비교해보겠습니다. git diff 명령어git diff는 두 커밋 간의 변경 사항을 비교할 때 사용됩니다. 예를 들어, 아래와 같은 명령어를 실행하면 특정 두 커밋의 차이를 확인할 수 있습니다. git diff 예제 실행 결과아래 이미지에서 볼 수 있듯이, git diff facd eea5 명령어를 실행하면 README.md 파일의 변경 사항이 표시됩니다.빨간색 부분: 이전 커밋(A)에서 존재했던 내용초록색 부분: 이후 커밋(B)에서 추가된..

긴 커맨드에 alias 설정하기

Git에서 자주 사용하는 커맨드에 긴 옵션을 매번 붙이는 것이 불편할 때가 있죠. 예를 들어, git log 명령어를 사용할 때, 커밋을 한 줄씩 보기 위해 --pretty=oneline 옵션을 자주 붙여 사용합니다. 하지만 이 옵션이 길어서 매번 입력하는 것이 번거로울 수 있습니다. 그럴 때 유용한 기능이 바로 Git alias입니다. Git alias는 커맨드에 별명을 붙여주는 기능으로, 긴 옵션이나 반복되는 명령어를 간단한 단축어로 설정할 수 있게 해줍니다. 이때 별명을 붙이는 행위를 aliasing이라고 합니다.이제, git log --pretty=oneline 명령어를 좀 더 간편하게 사용할 수 있도록 alias를 설정해보겠습니다. 이렇게 하면 매번 긴 옵션을 입력하는 번거로움 없이, 설정한 별..

최신 커밋 수정하기

Git에서 git commit --amend 명령어는 최근 커밋을 수정하는 데 사용됩니다. 이를 통해 커밋 메시지를 변경하거나, 커밋에 새로운 파일을 추가하거나 삭제할 수 있습니다. 이 명령어는 가장 최근에 수행한 커밋을 수정할 때 유용하게 사용됩니다. 커밋 메시지 수정가장 일반적인 사용 사례는 커밋 메시지 수정입니다. 실수로 잘못된 메시지를 작성했을 때 git commit --amend 명령어를 사용하면, 커밋 메시지를 다시 작성할 수 있습니다. git commit --amend 명령어를 입력하면, 기본 텍스트 편집기가 열리고 기존 커밋 메시지를 수정할 수 있습니다. 메시지를 수정한 후 저장하고 종료하면, 수정된 메시지가 마지막 커밋에 적용됩니다. 커밋에 파일 추가새로 수정한 파일을 커밋에 포함시키고 ..

Git 커밋 메시지 작성 가이드

Git을 사용할 때 가장 중요한 개념 중 하나가 바로 "커밋(commit)"입니다. 커밋은 현재의 코드 상태를 저장하는 중요한 기록이며, 협업 프로젝트에서는 특히 커밋 메시지가 큰 역할을 합니다. 이번 글에서는 Git 커밋 메시지를 어떻게 작성하면 좋을지 가이드라인을 정리해보겠습니다 Git 커밋이란?커밋은 Staging Area(스테이징 영역)에 있는 변경 사항을 하나의 버전으로 저장하는 과정입니다. 커밋에는 다음과 같은 정보가 포함됩니다.사용자 아이디 (누가 커밋했는가?)커밋한 날짜 및 시간 (언제 커밋했는가?)커밋 메시지 (무엇을 변경했는가?)이 중 커밋 메시지는 직접 작성해야 하며, 프로젝트의 가독성과 협업 효율성을 높이기 위해 일관된 형식을 유지하는 것이 중요합니다.  프로젝트 디렉토리의 변경 사..

커밋 히스토리

Git을 사용하다 보면 커밋 로그를 빠르게 확인하고 싶을 때가 많습니다. 이때 git log 명령어에 --pretty=oneline 옵션을 추가하면, 한 줄로 깔끔하게 정리된 커밋 히스토리를 볼 수 있습니다. git loggit log 명령어의 출력은 각 커밋의 해시, 브랜치 정보, 작성자, 날짜, 그리고 커밋 메시지를 포함하고 있습니다.설명커밋 해시 (Commit Hash)각 커밋을 식별하는 고유한 해시 값입니다. 예를 들어, eea5349e9d6720a4c3cdb52d7657e9b2a35c9f3f 같은 값이 있습니다.HEAD 및 브랜치 정보(HEAD -> master, origin/master)는 현재 HEAD가 master 브랜치에 있고, origin/master와 동기화되어 있음을 나타냅니다.작성..

Git Remote Repository 활용하기: Push와 Pull 개념 정리

버전 관리를 할 때 Git을 활용하면 로컬과 리모트 저장소 간의 데이터 동기화가 필수적입니다. 이번 글에서는 git push와 git pull의 개념을 정리하고, 리모트 저장소의 중요성을 알아보겠습니다.  로컬과 리모트 저장소의 관계Git에서는 **로컬 저장소(Local Repository)**와 **리모트 저장소(Remote Repository)**를 사용하여 코드 변경 사항을 공유할 수 있습니다. 로컬에서 작업한 내용을 리모트에 반영하려면 git push를 사용하고, 리모트의 변경 사항을 로컬에 적용하려면 git pull을 사용합니다. 로컬에서 작업한 변경 사항을 리모트 저장소에 업로드하는 명령어입니다.새로운 커밋이 추가되면 git push를 사용하여 반영할 수 있습니다.  모트 저장소에서 변경된 내..

Local Repository의 내용을 Remote Repository로 전송

Git을 사용하여 로컬에서 작업한 프로젝트를 원격 저장소(Remote Repository)로 업로드하는 것은 협업과 버전 관리를 위해 필수적인 과정입니다. 이번 글에서는 git remote add origin과 git push -u origin master 명령어를 사용하여 Local Repository의 내용을 Remote Repository로 전송하는 방법을 설명하겠습니다.  git remote add origin https://github.com/AnalyzeGit/techross-storage.git로컬 Git 저장소(Local Repository)를 원격 Git 저장소(Remote Repository)와 연결하는 명령어입니다. 부분에 GitHub 또는 GitLab의 원격 저장소 주소를 입력합니다..

Git 명령어 정리 노트

Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 사항을 추적하고 협업을 효율적으로 지원합니다. 아래는 Git의 주요 명령어와 그 기능을 정리한 것입니다 저장소 초기화 및 설정git init: 현재 디렉토리를 Git 저장소로 초기화하여 .git 디렉토리를 생성합니다.​git config user.name '사용자명': 커밋 시 사용할 사용자명을 설정합니다.​git config user.email '이메일주소': 커밋 시 사용할 이메일 주소를 설정합니다.​파일 추가 및 스테이징git add [파일명]: 특정 파일을 스테이징 영역에 추가합니다.​git add [디렉토리명]: 해당 디렉토리 내의 변경된 모든 파일을 스테이징 영역에 추가합니다.​git add .: 현재 디렉토리의 모든 변경 사항을 스테이징..