Skip to content

tw-stephen/git.alias

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

git.alias

將常用的一系列 git 下指令流程,製成一整串自動化指令

  git config --global alias.gg '!$(if [ $1 ] ; then target_branch=$1; else target_branch=$(git branch --show-current); fi && git checkout develop && git merge $target_branch --no-ff --no-edit && git push origin develop && git checkout $target_branch && git rebase develop) #'

指令流程


  • 判斷是否有輸入 分支名稱

    有提供,以手動輸入的字串為主

    target_branch=$1

    若無提供,則以目前的分支名稱為主

    target_branch=$(git branch --show-current)
  • 切換到 develop 分支

    git checkout develop 
  • 合併指定分支,執行指令

    git merge $target_branch --no-ff --no-edit 
  • git push 推送到 server 伺服器端 分支 develop

    git push origin develop
  • 將 client 本地端 分支,切換為剛才指定的分支 target_branch

    git checkout $target_branch
  • 在 target_branch 分支,執行 rebase 到 develop

    git rebase develop
  • 最後的 # 是忽略手動輸入的參數

    #
  • 完成!


使用方式1: 偵測目前分支


  • 開啟 terminal 終端機

  • 輸入指令

   git config --global alias.gg 
   '!$(if [ $1 ] ; then target_branch=$1; else target_branch=$(git branch --show-current); fi 
   && git checkout develop && git merge $target_branch --no-ff --no-edit && 
   git push origin develop && git checkout $target_branch && git rebase develop) #'
  • 檢查別名 gg 是否已生成

    git config --global -l 
  • 確認沒問題的話,按 q 可離開

    q
  • 在終端機內,執行 cd xxxx 切換目前位置到專案路徑內

  • 在數個 commit 指令之後,目前處理的功能區塊,告一段落

  • 在終端機內,輸入

    git gg
  • 完成!


影片 DEMO


git.alias.demo.mov

使用方式2: 合併指定分支


  • 在終端機內,執行 cd xxxx 切換目前位置到專案路徑內

  • 在數個 commit 指令之後,目前處理的功能區塊,告一段落

  • 在終端機內,輸入 git gg {{ custom_branch_name | 指定分支名稱 }}

    git gg feature__demo
  • 完成!


影片 DEMO 2


git.alias.demo2.mov

使用方式2: 使用情境


  • 當同時有多個分支,互相切換,並各自都有提交 commit

  • 假設目前分支位置在 master or feature__xxx

  • 分支 feature__demo 已提交 commit 並確認 目前工作段落已完成

  • 就可以在 master 或 其他分支

  • 指定 feature__demo 合併至 develop

  • 不需要重新切回 feature__demo 才執行指令 git gg


GIT 分支線圖 成果


git alias demo result


歡迎請我喝杯咖啡 ☕ ❤️ 😍


USDT Tron (TRC20) 錢包地址

TVaJYd7DyqJ8hYVgpaZkWJs6oDnscyvbEm

USDT Tron (TRC20) address

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published