Skip to content

Instantly share code, notes, and snippets.

@KangDroid
Last active June 3, 2023 10:02
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KangDroid/09656c4a0f58843d879b715aebd0cee6 to your computer and use it in GitHub Desktop.
Save KangDroid/09656c4a0f58843d879b715aebd0cee6 to your computer and use it in GitHub Desktop.
2회 EXCELCON 공유 스크립트

안녕하세요!

안녕하세요! Git 커멘드와 있으면 편리한 alias/function 으로 엑셀콘에서 발표를 한 KangDroid입니다!
이 Gist에서는 발표에서 다루었던 Function 코드들과, 적용해서 사용할 수 있는 방법에 대해서 설명합니다.

파일 구성

  • README.md: 현재 이 문서
  • shell_configuration: 터미널(쉘)의 설정 파일에 붙여넣을 수 있는 코드

현재 개인의 쉘이 어떤 것인지 알기.

각자 bash, zsh 등, 쓰는 터미널의 종류에 따라서 설정파일들의 이름이 조금씩 다릅니다.

먼저, 여러분들이 편하게 사용하시는 터미널을 열고, 아래 명령어를 입력해 주세요.

$ echo "$SHELL"

명령어 결과가 아래 스크린샷 처럼 /bin/bash, /bin/zsh 이런 식으로 나오는데요, 이 출력의 의미는 현재 본인이 사용하고 있는 쉘이 어떤 것인지 알려줍니다. 스크린샷 2023-06-03 오후 1 56 09

아래 표는 각 쉘에 따른 설정 파일의 경로입니다.

Shell Path(macOS) Path(Linux)
/bin/bash /Users/사용자이름/.bash_profile /home/사용자이름/.bashrc
/bin/zsh /Users/사용자이름/.zshrc /home/사용자이름/.zshrc

예를 들어, macOS에서 터미널을 실행했을 때 쉘은 자동으로 /Users/사용자이름/.zshrc에 있는 설정들을 로딩합니다.

설정 파일 적용하기

  1. 여러분들의 쉘 설정 파일을 코드 편집기로 열어주세요!(vscode/vim/nano등) - 없으면 새로 생성해 주세요!
  2. 편집기에서 쉘 설정 파일 가장 아래 부분에 shell_configuration 파일 내용을 그대로 복사-붙여넣기 합니다.
  3. 저장 후, 터미널을 닫았다가 새로 다시 열어줍니다.
    • 닫았다가 여는게 어려운 경우, $ source "쉘 설정 파일 경로" 를 입력하시면 터미널을 닫았다가 새로 열어주지 않고도 변경사항을 적용시킬 수 있습니다.
# 현재 폴더 안에 있는 파일들 중에 특정 문자열이 포함되어 있는지 확인하는 명령어
# Usage: findgrep "printf"
function findgrep {
find . -type f -exec grep -l "$@" {} +
}
# 현재 디렉토리 내부에 있는 특정 파일들을 모두 삭제하는 명령어
# delete "*.c"
function delete {
find . -name "$@" -exec rm -rf {} \;
}
# 현재 디렉토리 하위에 있는 모든 .DS_Store파일을 삭제하는 명령어
# dsdelete
function dsdelete {
find . -name ".DS_Store" -exec rm -rf {} \;
}
# 특정 커밋을 Cherry-Pick하는 명령어
# Usage: ds "commit-sha"
function ds {
git cherry-pick $@
}
# 특정 커밋을 Revert하는 명령어
# Usage: sd "commit-sha"
function sd {
git revert $@
}
# 특정 파일을 수정 이전으로 되돌릴 때(git)
# Usage: resetfile "file"
function resetfile {
git reset HEAD $@
git checkout $@
}
# Remote(Github/Bitbucket/Gitlab 등등)에 있는 특정 브렌치를 삭제할 때
# Usage: removebranch "branch-name"
function removebranch {
git push -u kangdroid :$@
}
# 커밋의 내용(타이틀)을 수정할 때
# Usage: editcommit "[Feature]..."
function editcommit {
git commit --amend -m "$@"
}
# 현재 수정 사항을 상위 커밋에 합치기
# Usage: addcommit
function addcommit {
git add -A
git commit --amend --no-edit
}
# (Github Only) 현재 브렌치에서 Target Branch로 PR을 만들 때
# Usage: createpr "target-branch-name" "PR title"
function createpr {
branch=$1
message=$2
shift 2
gh pr create --title $message --base $branch --fill $@
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment