Git
-
git commit전 git hook 거는방법Git 2024. 2. 20. 00:01
개요 git hook을 통하여 개발편의성을 올려보고자 합니다. Git Hook Git은 특정 상황에 특정 스크립트를 실행할 수 있도록 Hook이라는 기능을 지원합니다. Git Hook 목록 찾아보기 cd ./git/hooks/ ls 현재 가지고 있는 git repository에 접근합니다. ./git/hooks/ 디렉터리로 이동하여 가지고 있는 파일을 조회해 보면 여러개의 .sample 확장자 파일이 존재합니다. pre-commit, pre-push 등의 이름으로 어떤일을 하는지 예측해 볼 수 있습니다. (커밋 전, 푸시하기 전) 정확한 설명은 git의 문서에서 확인해 볼 수 있습니다. https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks Git - Git..
-
git init으로 Git Reposiotry 생성하기Git 2023. 8. 15. 00:01
개요 보통 Git에 Repository를 다음과 같이 만들었습니다. Git 접속 Repository 생성 git clone 받기 거기서 작업 이미 작업한 디렉터리를 git repository로 만드는 방법은 없을까요? Git status로 Git 저장소인지 확인 git status fatal: not a git repository (or any of the parent directories): .git git status를 통해 git repository가 아니라는 메시지를 받을 수 있습니다. Git init으로 현재 디렉터리 기준으로 Git 저장소 생성 git init 최초 커밋 수행 git add . git commit -m "first commit" 원격 저장소 만들기 명령어를 복사할 수 있게 제공..
-
Github Actions로 CI/CD 구축하기Git 2023. 5. 13. 00:01
[1] Github Actions로 CI 구축하기 [2] Github Actions로 CD 구축하기 Github Action이란? 코드저장소로 유명한 Github에서 제공하는 CI(Continuous Integration, 지속통합)와 CD(Continuous Deployment, 지속배피)를 위해 추가된 서비스입니다. 다른 서드파티를 사용하는 것보다 관리해야 할 포인트가 줄어드는 이점을 가질 수 있습니다. 쉽게 생각해서 github이 호스팅 하는 컴퓨터 한 대를 대여하여 CI/CD를 편하게 할 수 있습니다. Github에서 코드 저장소를 무료로 만들 수 있으며 코드 저장소에 어떤 이벤트(event)가 발생했을 때 특정 작업이 일어나게 하거나 주기적으로 어떤 작업들(workflows)을 반복해서 실행시킬..
-
Trunked Based DevelopmentGit 2023. 5. 7. 00:01
Trunked Based Development란? trunk(main or develop)이라 지칭하는 1개의 브랜치에 모든 개발자가 commit(PR)하고, Release는 별도의 브랜치로 관리한느 개발 방법입니다. 여기서 말하는 trunk란 나무의 줄기를 의미하는 단어로, 소프트웨어에서는 메인라인 또는 마스터 브랜치를 의미합니다. 보통 나무의 줄기에는 여러 가지(branch)가 뻗어나가는 구조를 가지며 우리가 흔히 아는 feature branch들이 될 수 있을 것 같습니다. TBD의 목표 브랜치 관리에 드는 리소스가 대폭 절약된다, 각자 자신이 맡은 feature branch를 main branch와 싱크를 맞추면 된다. 짧은 주기로 main에 머지되기 때문에, 머지 시 발생하는 변경이 작아집니다...
-
Git 특정 commit diff 보는 법Git 2023. 4. 26. 00:01
개요 git pull을 받다 보니 merge commit이 발생하였고 해당 commit에서 어떤 변경사항이 발생했는지 확인해보고자 합니다. 이를 위해 특정 commit의 변경사항을 확인하는 방법을 알아봅니다. git log 확인 git push를 하기전 어떤 commit들이 반영되는지 확인하고자 했습니다. git log --oneline acff833 (HEAD -> refactor/local-dev-properties-setting, main) refactor: api-test-server application.yml local dev 환경설정 분리 b216be7 refactor: api-external-coupon application.yml local dev 환경설정 분리 9f11046 refact..
-
Git 커밋 메시지 바꾸는 방법Git 2023. 3. 24. 00:01
가장 최근의 commit 수정 git commit --amend 위의 커밋 메시지를 수정하고 :wq를 통해 저장해 줍니다. 여러 개의 commit 수정하기 맨 위에서부터 5개의 커밋을 수정하고 싶은 상황입니다. git rebase -i HEAD~5 위의 명령어를 사용하면 다음과 같이 5개의 commit 내역이 보입니다. pick c348121d refactor: 사용하지 않는 로컬 변수 및 사용하지 않는 주석코드 제거 pick e312034f refactor: local 변수 가까히 배치 pick 1faac36a style: 코드 포맷팅 pick 77985046 refactor: 사용하지 않는 로컬 변수 제거 pick a6f193fc refactor: 메서드 추출 pick을 reword로 바꿔주고 :wq..
-
Git Bio에 개행문자 넣기Git 2022. 10. 17. 00:01
개요 Git Profile을 작성하던 중 자기소개 부문에 Enter가 동작하지 않았습니다. 개행 문자 넣기 Enter를 적용하는 법은 간단한데 아래 링크로 들어가서 Copy를 누르고 한 4번 정도만 붙여 넣으면 개행이 완료됩니다. https://unicode-table.com/en/2003/ - Em Space: U+2003 emsp Symbol: , Name of the character: em space, Unicode number for the sign: U+2003, the icon is included in the block: General Punctuation. unicode-table.com 출처 https://stackoverflow.com/questions/43406317/correct-..
-
Git conflict rebase 하기Git 2022. 10. 13. 00:01
This branch cannot be rebased due to conflicts 충돌이 났기 때문에 rebased를 할 수 없다고 합니다. rebase는 git에 적용되는 base를 새롭게(re) 한다는 의미입니다. 이때 base는 현재 있는 branch가 나오기 전에 존재했던 commit이라고 생각하면 좋습니다. 원인 conflict가 나는 이유는 똑같은 파일을 합치려고 하는 브랜치와 합쳐지는 브랜치 모두에서 수정이 된 경우 발생하게 됩니다. commit인 기본적으로 diff를 저장하게 됩니다. diff의 결과를 모두 합치게 되면 현재의 코드가 만들어지게 됩니다. 이 commit들을 기반으로 브랜치를 따게 되면 그 시점이 base가 되고 그 base를 기준으로 우리의 소스코드를 합치는 과정에서 비교..