2025/04/29 6

[Git & Github] 9. 스태시(Stash)의 모든 것

Important ● 스태시의 기초 ● git stash save/popNice To Have ● git stash 적용 ● 스태시 삭제 ● 여러개의 스태시로 작업하기 스태시는 유용한 기능이지만 반드시 사용해야 하는 상황은 발생하지 않는다.대부분 save와 pop을 사용한다. 브랜치에서 작업을 하다가 완료되지 않은 상태라서 커밋을 하지 않고 다른 브랜치로 이동해야 하는 경우에는 상황에 따라 해당 작업이 이동하는 브랜치로 따라오거나 깃에서 브랜치를 이동하지 못하도록 막는(병합 커밋 발생 예상 시) 두 가지 옵션이 존재한다.이 때 스태시를 사용한다. git stash (=git stash save)커밋되지 않은 변경사항을 저장하고 변경사항들을 모두 초기화 시킨다.내용이 삭제되는것이..

[Git & Github] 8. Git Diff로 변경사항 비교하기

Critical ● git diff 명령어 실행 결과 읽기 ● git diff 명령어의 기본적인 사용 방법Important ● 브랜치, 커밋, 특정 파일의 비교 ● git diff --stage git diff는 깃에서의 변경 사항들을 보여주는 명렁어이다.git status나 git log처럼 저장소에 아무런 영향을 미치지 않는 명령어이다.git diff스테이지에 등록되지 않은 작업 영역의 변경사항을 모두 나열한다.(아직 스테이지에 올라가지 않은 상태)(작업 영역 파일의 변경사항을 알려준다)(각 라인을 해석하면 위와 같다)a는 커밋된 파일, b는 작업 영역의 파일이다.git diff HEAD마지막 커밋이 실행된 이후의 변경사항을 모두 나열한다.마지막 커밋 이후 변경 사항을 스테이지에..

[Git & Github] 7. 브랜치 병합하기, 맙소사!

Critical ● Fast-Forward(빨리 감기) 병합 ● git merge & merge commits ● 병합 충돌과 해결 방법Nice To Have ● VS Code 사용을 통한 충돌 해결 방법병합의 2가지 원칙 ● 특정 커밋이 아닌 브랜치를 병합한다. ● 항상 현재 HEAD 브랜치에 병합한다. ● Fast-Forward(빨리 감기) 병합 1. 목적지(병합하려는) 브랜치로 이동한다. (B를 A에 합치고 싶다면 A로 이동) 2. git merge B 실행 3. A의 브랜치가 B의 브랜치를 따라잡게 된다. 병합을 하더라도 병합 대상의 내용들이 브랜치에 추가되는 것은 한 순간이고 동기화가 계속 이뤄지는것은 아니다. 여전히 별개의 브랜치로 존재한다...

[Git & Github] 6. 브랜치(branch)로 작업하기

Critical ● 브랜치는 무엇이고 왜 사용하는가? ● HEAD에 대해 이해 ● 명령어 git branch/switch/checkoutImportant ● 브랜치 삭제와 이름 변경 ● 브랜치 이름 (master vs main)Nice To Have ● HEAD & Refs behind the scenes 브랜치도 커밋처럼 매일 또는 자주 다루게 될 것이다. 커밋은 고유의 해시를 가지고 부모 커밋 하나를 참조하고 있다. 어떤 팀에서 각각 진행하는 작업의 내용이 진척도가 서로 다르고 작업 내용이 추후 적용된다고 했을 때, 순차적인 커밋은 불가능하다고 볼 수 있다.이 때, 브랜치로 작업을 분기시켜서 별도로 진행하다가 추 후 합칠 수 있다. 작업은 항상 브랜치 위에 존재한다. ..

[Git & Github] 5. 커밋과 관련 주제 자세히 알아보기

Critical ● git ignoreImportant ● 커밋의 원자적 유지 (Atomic commits) ● 좋은 커밋 메시지 작성법 ● 깃 문서 탐색Nice To Have ● GUI 사용 ● Amending commits (커밋 변경) 깃의 문서는 https://git-scm.com 에서 볼 수 있다. 명령어의 기능이 궁금할 때 레퍼런스를 참조하면 된다. ● 커밋의 원자적 유지 (Atomic commits)가능하다면 커밋은 단일 기능이나 단일 변화, 수정만을 포함시켜야 한다.한 커밋에 모든 변경사항들을 통합한다면 커밋을 롤백할 때 많은 작업들을 취소해야 할 수도 있다. ● 커밋 메시지 작성현재 시제의 명령형 커밋 메시지를 사용할 것을 공식적으로 권장하고 있다.예를들어..

[Git & Github] 4. Git의 기초 : 추가하기와 커밋하기

Critical ● 깃 저장소의 개념 ● 명령어 git init/status ● 커밋의 흐름 (명령어 git add/commit/log)Important ● .git 폴더에 대한 이해 깃 저장소는 작업 공간이다.git init현재 있는 디렉토리를 새 저장소의 홈으로 만든다. init을 실행하기 전에 status로 먼저 확인해 주는 것이 좋다.git status현재 저장소의 상태를 확인한다. .git 폴더를 삭제하면 저장소의 이력까지 모조리 사라진다. 저장소 안에 또 다른 저장소를 넣지 말아야 한다. (초기화된 저장소 안에서 또 초기화를 하지 말라는 뜻)깃이 깃을 추적하기 때문에 혼란스러워진다. ● 커밋이란?프로젝트의 변경 사항이 있는 일종의 체크포인트.깃은 3개의 다른 영역으로 구분..