Git
-
Git cherry-pickGit 2021. 3. 31. 00:24
다른 branch에 있는 커밋을 선택적으로 내 branch에 적용시키고 싶을 때 사용하는 명령어. 예를 들면, 프로젝트 PR을 이미 보내고 난 후에 뒤늦게 잘못된 걸 깨달았다거나 하는 상황에서, 내가 이전에 작성했던 코드들을 모두 날리지 않고 제대로 작성된 커밋들을 쏙쏙 골라서 가져올 수 있다. git rebase를 사용하면 원하는 commit을 선택적으로 적용할 수 있지만, git rebase는 현재 branch에서만 가능하므로 다른 branch에서 commit을 가져오고 싶다면 먼저 그 branch를 현재 branch로 merge한 후 rebase해야 하는 번거로움이 있다. 그 과정에서 발생하는 충돌은 어디서 어떻게 해결해야 하는지 감도 잡히지 않는 경우가 허다. 일일이 복사 붙여넣기 하는 것도, 생..
-
Git mergeGit 2021. 3. 26. 03:32
여러 명이 공동으로 작업하는 저장소를 clone 받아서 작업을 하고 있는 상황이다. master라는 공동의 branch가 존재하고, 나는 my-branch라는 새로운 branch를 만들어서 코드 작업을 하고 있다. git branch my-branch git checkout my-branch // 한 줄로 축약해서 쓰기 git checkout -b my-branch 코드 작업을 마치고 master branch에 merge를 하려고 하는데, 내가 merge 하기 전에 누군가가 master branch에 다른 작업을 한 후 commit을 하고 push를 해버렸다. 이 경우에 my-branch를 master branch에 병합하는 방법은 대략 3가지 정도가 있다. 바로 merge, squash and merg..
-
git stash 명령어Git 2021. 3. 15. 03:01
아직 다 만들어지지 않은 기능을 commit하기 애매할 때, 스택에 잠시 저장할 수 있게 만든 명령어. 나중에 다시 스택에서 꺼내서 마무리할 수 있다. ■ 어떤 작업 중에 급한 일이 생겨 다른 브랜치로 변경해야할 때. 그런데, 하던 작업이 미완성이라서 커밋 하기에는 좀 애매할 때. - 개인적으로는 이번에 진행 상황(step1, step2, step3)에 따라서 branch를 분리해야 하는 일이 있었는데, step3 branch에서 작업해야 하는 내용을 깜빡하고 step2에서 하고 있었다. 근데 아직 커밋은 하지 않았고 워킹 디렉토리의 파일들만 수정된 상태였기 때문에 stash에 저장했다가 step3 branch로 바꾸고, stash에서 다시 꺼냈다. 즉, step2에서 작업하던, 커밋되지 않은 내용들을 ..
-
.gitignore가 올바르게 작동하지 않을 때 😤Git 2021. 2. 7. 23:32
Git을 사용하다보면 세팅 파일같은 것들은 굳이 올리지 않아도 되는 경우가 많다. 그래서 .gitignore파일을 이용해서 Git이 추적하지 않도록 해야하는데 이 .gitignore가 제대로 작동하지 않아 문제가 생기는 경우가 종종 있다. 😤 최근에 Cypress를 사용하면서, .gitignore에 Cypress 관련 폴더와 vscode 설정 폴더 등등 굳이 추적하지 않아도 되는 파일이나 폴더들을 .gitignore에 추가하고 커밋을 했는데 웬걸, repository에 들어가보니 모든 파일들이 당당하게 자신들의 이름을 저장소에 등재한 모습을 볼 수 있었다. 😤😤😤😤😤 ■ 정확한 원리는 모르겠지만, 이렇게 한 번 git으로 추적을 하게 된 경우 .gitignore에 추가하더라도 git이 이미 해당 파일을 ..
-
Git 커밋 메시지 컨벤션Git 2020. 12. 30. 01:04
최근에 커밋 메시지 또한 작업 내역을 파악하는 데에 굉장히 중요한 역할을 한다는 것을 깨달은 뒤 커밋 메시지도 좀 보기 좋게 작성해야겠다고 생각을 하고 있다. 요 근래에 계속해서 참고했던 커밋 메시지 컨벤션 관련 블로그 글을 간단하게 정리해놓고 앞으로 계속해서 참고해가면서 커밋 메시지를 작성해야겠다. 습관을 들이다보면 언젠가는 찾아보지 않고도 몸에 익을거라고 생각한다. 커밋 메시지에 본문을 작성할 수 있다는 것도 최근에서야 알게 되었다. 윈도우에서는 커밋 메시지를 작성할 때 줄바꿈이 안돼서, 항상 git commit --amend를 사용해서 메모장을 켜서 본문을 작성하고 있는데 혹시 그러지 않고 cmd 창에서 작성할 수 있는 방법을 아시는 분이 있다면 알려주세용 ■ 커밋의 종류 - feat: 새로운 기능..
-
수정과 관련된 git 명령어 💡Git 2020. 12. 5. 20:06
최근에 git 커밋 메시지를 정성들여 써야하는 일이 생기면서 커밋 메시지를 수정해야하는 일이 잦아졌다. 기존에 알고있던 git 명령어라고는 config, clone, add, commit, push, checkout 정도밖에 없던 나에게 커밋 메시지를 수정하는 것은 상당한 도전(..)이었다. 기왕에 조사해 본 김에, 다음에 까먹었을 때는 인터넷을 이리저리 뒤지지 말고 그냥 내 블로그에서 바로 찾아볼 수 있도록 하기 위해 포스팅을 좀 해놔야겠다. 그리고 블로그에 정리해놓으면 뭔가 기억에도 더 잘 남는 듯한 착각인지 실제인지 모를 효과도 있다. 1. 기본 에디터 바꾸기 우선, 나는 윈도우를 사용하기 때문에 윈도우를 기준으로 포스팅을 하겠다. 윈도우에서 커밋 메시지를 수정하려면 기본 에디터를 바꿔줘야 한다. ..