현재 순서db16f8c9 -> f9226d9d -> ea04903e -> 7b1d05fb변경하고 싶은 순서db16f8c9 -> 7b1d05fb -> f9226d9d -> ea04903e(맨 뒤에 있던 커밋의 위치를 두 번째로) 1. 상호작용 모드로 rebase 시작하기git rebase -i HEAD~3 2. 편집기에서 커밋 순서 변경하기대략 다음과 같은 내용이 나타나면pick f9226d9d Commit message for f9226d9dpick ea04903e Commit message for ea04903epick 7b1d05fb Commit message for 7b1d05fb여기서 커밋 순서를 원하는 대로 변경한다.pick 7b1d05fb Commit message for 7b1d05fbpic..
.DS_StoreDesktop Services Store의 약자로, 애플에서 정의한 파일 포맷 애플의 맥 OS X 시스템이 폴더에 접근할 때 생기며, 해당 폴더에 대한 메타데이터를 저장하는 파일이다. 즉, 맥의 finder로 폴더에 접근하면 자동으로 생기는 파일로, 프로젝트와 하등 관련이 없는 파일이며 윈도우의 thumb.db 파일과 비슷하다. 맥에서 생성되지만, 파일을 공유하는 과정에서 종종 공유되기도 한다. 깃허브에 업로드할 때 종종 딸려들어가서...내 저장소에서 없애버리고 커밋하지 않는 방법을 알아보자! 작업 공간에 이미 저장된 .DS_Store 삭제find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch .gitignore 파일에 ..
현재 브랜치 이름 변경1. 현재 브랜치의 이름 확인git branch2. 현재 브랜치 이름 변경git branch -m new-branch-name 다른 브랜치 이름 변경브랜치 이름 변경old-branch-name을 new-branch-name으로 변경하려면 다음 명령을 실행git branch -m old-branch-name new-branch-name 원격 저장소의 브랜치 이름 변경로컬에서 브랜치 이름을 변경한 후, 원격 저장소의 브랜치 이름도 변경해야 할 경우 다음 단계를 따른다. 1. 로컬에서 새 브랜치 이름 푸시git push origin new-branch-name2. 원격에서 오래된 브랜치 삭제git push origin --delete old-branch-name3. 업스트림 브랜치 설정g..
PR 템플릿 구성이번에 개인 프로젝트를 진행하면서, Pull Request 연습도 해보면 좋을 것 같아 이것저것 찾아보다가 PR에 포함될 내용들을 미리 정의하고, 생성할 때마다 자동으로 틀을 만들어주는 PR 템플릿 기능을 알게되었다! 완전 유용한데, 까먹을까봐 블로그에 정리정리~ 1️⃣ Github 버튼의 Add file - Create new file을 클릭해서 2️⃣ pull_request_template.md 라는 파일을 생성해준다. 위치는 사용자가 원하는 데 지정하는 것이 좋다. 숨겨진 디렉토리에 저장하기 위해 .github 하위에 저장하는 방법이 일반적이다. Creating a pull request template for your repository - GitHub DocsWhen you ad..
토큰을 만들 때 사용할 비밀 키나, OAuth 클라이언트 Id, 보안 비밀번호 등 깃허브 같은 외부 사이트에 업로드하지 않아야하는 프로퍼티들을 관리해야할 때 .gitignore 파일을 사용하는 것이 효과적이다. 1. .gitignore 파일 열기 또는 생성하기프로젝트 루트 디렉토리에 .gitignore 파일을 열거나 없다면 새로 생성한다. 2. application-secret.properties 파일 추가하기resources 폴더 하위에 application-secret.properties 파일을 추가한 뒤 .gitignore 파일에 다음과 같이 작성한 후 저장한다.### etc ###src/main/resources/application-secret.properties 3. 캐시에서 제거하기단, Gi..
현재 브랜치가 'feature-branch'라면 명령어는 다음과 같다.git add .git commit -m "작업 내용에 대한 설명"git checkout maingit pull origin maingit merge feature-branch# (충돌 해결 후 커밋)git push origin main
기본 흐름1. main 브랜치를 최신 상태로 업데이트 한다.git checkout maingit pull origin main2. 작업 중인 브랜치로 전환한다.git checkout 3. main 브랜치의 수정 사항을 현재 브랜치로 병합한다.git merge main 충돌 해결하기병합 과정에서 충돌이 발생할 수 있으며, 이런 경우 충돌을 해결하고 변경 사항을 커밋해야 한다. 1. 충돌된 파일 수정하기충돌이 발생한 파일을 열고, 충돌 부분을 수동으로 수정 2. 충돌 해결 후 변경 사항 추가하기git add 3. 병합 완료 커밋하기git commit
git stash현재 브랜치의 상태를 커밋하지 않고, main 브랜치로 이동하고 싶은 경우가 생겼다! 우선, 직접 중인 사항을 stash*에 잠시 저장한다.git stash *stash Modified이면서 Tracked 상태인 파일과 Staging Area에 있는 파일들을 보관해 두는 장소이다. 아직 끝내지 않은 수정사항을 스택에 잠시 저장했다가 나중에 다시 적용할 수 있다. 필요하다면, 어떤 이유로 stash 하는지 메시지를 남길 수 있다.git stash -m "스태시 하는 이유 작성"현재 적용된 commit 이후로 변경된 모든 사항들이 stash 공간으로 이동된다. 이제 main 브랜치로 이동하여 필요한 작업을 진행한다.git checkout main 필요한 작업이 완료되었으면, 다시 원래 브랜치..
Git 커밋 메시지를 잘 쓰려고 노력해야 하는 이유더 좋은 커밋 로그 가독성더 나은 협업과 리뷰 프로세스더 쉬운 코드 유지보수그 외에도 CHANGELOG들을 자동으로 생성하고, 빌드와 배포 프로세스를 트리거하는 등의 역할을 할 수도 있다. 좋은 커밋 메시지를 작성하는 방법은 여러 가지가 있겠지만, Angular Commit Guidelines에 기반을 둔 Conventional Commits 1.0.0과 가장 유명한 Udacity의 Git 커밋 메시지 컨벤션을 정리해 보고 추가로 메모해두고 싶은 내용들을 작성해 보았다. Conventional Commits 1.0.0 Conventional CommitsA specification for adding human and machine readable mea..