diff --git a/README.md b/README.md index b71f764..ac28812 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ ## 사용법 +brew info fgit +brew update +brew upgrade --cask + ```shell brew tap connor-27/homebrew-submodule-kit brew install fgit @@ -36,10 +40,31 @@ xcode-select --install ----- ## 정상적인 설치가 안될 경우 -이유는 잘 모르겠지만.. Uninstall 과 Untab 이 잘 안됌 + +```shell +brew uninstall fgit +brew untap connor-27/homebrew-submodule-kit +``` + +----- + +## 버전 변경에 따른 재설치 + ```shell +brew info fgit brew uninstall fgit +# 만약에 uninstall 이 잘 안될 경우~ +# brew update +# brew upgrade --cask +# doctor 를 통해서 현재 brew 의 문제점들을 명령창에 나오는데로 해결해나감 +# brew doctor +brew info fgit brew untap connor-27/homebrew-submodule-kit + +# 재설치 +brew tap connor-27/homebrew-submodule-kit +brew install fgit + ``` ---- diff --git a/fgit.rb b/fgit.rb index 1d4cb2c..d5eed56 100644 --- a/fgit.rb +++ b/fgit.rb @@ -2,9 +2,9 @@ class Fgit < Formula desc "Custom git aliases for submodule management" homepage "https://github.com/connor-27/homebrew-submodule-kit" url "https://github.com/connor-27/homebrew-submodule-kit/raw/main/fgit.sh" - version "1.0.3" # shasum -a 256 fgit.sh - sha256 "94ba0251351f6528ca083e6e4a66758c2a972d7813753841c4ceb47b530e7caa" # 쉘에 대한 해시값 넣기 + sha256 "86bf9c3c9b0ae31b0915d52a6d657ec40c3c32b074861b3af9c6f9df6f1fdb3c" # 쉘에 대한 해시값 넣기 + version "1.0.5" def install bin.install "fgit.sh" => "fgit" @@ -13,4 +13,4 @@ def install test do system "#{bin}/fgit", "help" end -end +end \ No newline at end of file diff --git a/fgit.sh b/fgit.sh index 7723c41..d6d8206 100755 --- a/fgit.sh +++ b/fgit.sh @@ -13,6 +13,7 @@ function help() { echo "사용 가능한 명령어:" echo " fgit add - 서브모듈을 추가해주는 명령어" + echo " fgit remove - 서브모듈을 삭제해주는 명령어" echo " fgit reset [submodule] - 서브모듈을 지우고 다시 추가해주는 명령어 ( 서브모듈 main 브랜치로 )" echo " fgit clone - 서브모듈이 있는 저장소를 클론하고 서브모듈을 main 브랜치로 체크아웃 후 최신 상태로 업데이트" echo " fgit branch [submodule] - 서브모듈의 브랜치 정보를 조회" @@ -23,6 +24,7 @@ function help() { } ##################################################### # - add +# - remove # - reset # - clone # - branch @@ -47,13 +49,23 @@ function add() { ##################################################### +# 워킹레포지토리에 서브모듈 삭제 +function remove() { + submodule_name=$(basename "$repo_url" .git) + git submodule deinit -f "$submodule_name" && + rm -rf ".git/modules/$submodule_name" && + git rm -f "$submodule_name" +} + +##################################################### + # 서브모듈을 지우고 다시 추가해주는 명령어 function reset() { repo_url=$1 - submodule_name=${1:-$(awk '/path/ {print $3}' .gitmodules)} - git submodule deinit -f submodule_name && - rm -rf .git/modules/submodule_name && - git rm -f submodule_name && + submodule_name=$(basename "$repo_url" .git) + git submodule deinit -f "$submodule_name" && + rm -rf ".git/modules/$submodule_name" && + git rm -f "$submodule_name" && add "$repo_url" }