Git 5

셸 스크립트로 오래된 로컬 브랜치 한꺼번에 삭제하기

Git으로 작업을 하다보면 브랜치들이 점점 늘어난다. 일일이 삭제하려면 너무 번거롭다. 이럴 때 셸 스크립트Shell Script를 활용하면 한번에 지울 수 있다. 셸 스크립트 예시다.아래 셸 스크립트를 실행하면 브랜치가 한꺼번에 삭제된다.#!/bin/bashPREFIX_FEATURE="feature/"PREFIX_BUGFIX="bugfix/"PREFIX_RELEASE="release/"branches=`git branch -a`for b in $branchesdo if [[ "$b" == "$PREFIX_FEATURE"* ]] || [[ "$b" == "$PREFIX_BUGFIX"* ]]|| [[ "$b" == "$PREFIX_RELEASE"* ]] then echo $b git branch -D ..

개발 Dev/깃 Git 2024.05.18

gitlab에 있는 저장소를 github로 커밋 포함 전체 복사하기

코드 복사가 필요한 상황Git으로 관리하는 코드를 이 서비스에서 저 서비스로 옮겨야 할 때가 있다예를 들어서 gitlab에 있는 저장소를 github로 옮기고 싶다. 이 때 gitlab 코드를 내려 받고, github에 저장소를 만들고 내려 받은 코드를 복사한 뒤에 새로 커밋하면 기존 커밋 이력이 다 날라간다. 커밋 이력을 포함해서 복사하고 싶다면이때는 remote url을 변경해야 한다. 아래 명령어를 사용해야 한다.$ git remote set-url origin GitHub-저장소-URL 작업 순서 1. 우선 gitlab 저장소를 clone 한다.$ git clone https://gitlab.com/사용자명/저장소명.git 2. github에 저장소를 새로 만든다. 3. 원격 저장소 url을 변경..

개발 Dev/깃 Git 2024.05.15

깃허브 커밋 메시지에서 특정 단어로 검색해서 엑셀 파일로 만들기

배경 팀 내에서, 코드 리뷰를 통해서 커밋을 한 경우 리뷰어의 이름을 커밋 메시지에 반드시 적기로 했다. 예를 들면 taptorestart란 사람이 리뷰를 했다면 커밋 메시지에 "taptorestart 리뷰 반영"이라고 적기로 한 것이다. taptorestart의 리뷰가 반영된 커밋수를 확인하려면 어떻게 해야 할까? 해결방법 git log 명령어로 커밋 메시지에 특정 단어가 들어 있는 커밋을 검색할 수 있다. 예를 들어 git log --grep="flask"라고 검색하면 아래처럼 나오는 것을 볼 수 있다. 매번 일일이 이렇게 확인할 수는 없다. 위 검색 결과를 엑셀로 만들고 싶다면? pandas를 활용해서 액셀 파일로 정리해서 만들 수 있다. 작업 코드 예다. import os import shutil..

개발 Dev/깃 Git 2023.06.17

Q. github에 push해서 데이터베이스 계정과 비밀번호가 노출되었다면 어떻게 해야 할까?

A. git reset --hard {commithash} 하고 나서 git push --force origin 하면 된다. 앗! 비밀번호를 그대로 올린 것을 발견했다. git reset --hard b0ce9e5a10c5f93ec619083db05d6dbd3776d261 위 명령어로 b0ce9e5로 시작하는 Create .gitignore로 reset을 한다. 그렇게 하면 Create .gitignore 다음에 커밋한 내용은 사라지게 된다. 그리고 강제로 push를 한다. --force를 붙여야만 된다. git push --force origin 위 명령어를 깃허브 데스크탑 같은 클라이언트 프로그램을 쓰지 않고 터미널에서 하게 된다면 Username for 'https://github.com': tap..

개발 Dev/깃 Git 2022.02.24

좋은 커밋, 좋은 커밋 메시지Git commit message는 어떤 것일까?

깃Git을 쓰고 커밋commit을 할 때 메시지를 적는다. 메시지를 어떻게 적어야 할까? 커밋 메시지는 훌륭한 협업자를 판단하는 기준 "a commit message shows whether a developer is a good collaborator." - Peter Hutterer. (출처: On commit messages) "커밋 메시지는 개발자가 훌륭한 협업자인지 여부를 보여준다." 말로 훌륭한 협업자라고 주장해봤자 의미는 없다. 언제나 말보다 실제가 중요하니까. 결국 커밋 메시지를 잘 적어야 다른 사람들에게 훌륭한 협업자로 인정받을 수 있게 된다. Peter Hutterer의 주장을 좀 더 살펴보자. (출처: On commit messages) A good commit message shou..

개발 Dev/깃 Git 2021.03.11