714399a7c33963384ef7f21ce21f6d134416f9aa
Author fanuch <fanuch@gmail.com> Committer Marc Cornellà <hello@mcornella.com> Date 2021-10-04 15:31 UTC
Message feat(git): add `gccd` alias to clone and cd into git repository (#8220)
Fixes #8216
Closes #8220
Co-authored-by: Nelson Estevão <nelsonmestevao@gmail.com>
Diff 1 diff --git a/plugins/git/README.md b/plugins/git/README.md
2 index 05ef25099317c115dc095cce0858fd335c9b6a91..b68dc552e0780944eef639c69bfc718ced6ea1c4 100644
3 --- a/plugins/git/README.md
4 +++ b/plugins/git/README.md
5 @@ -47,6 +47,7 @@ plugins=(... git)
6 | gcb | git checkout -b |
7 | gcf | git config --list |
8 | gcl | git clone --recurse-submodules |
9 +| gccd | git clone --recurse-submodules "$@" && cd "$(basename $_ .git)" |
10 | gclean | git clean -id |
11 | gpristine | git reset --hard && git clean -dffx |
12 | gcm | git checkout $(git_main_branch) |
13 diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
14 index 11dff99d979d31eaea76c699c8bac3d5dcb34fb9..f2431fde569a2106d6f12014703890cb26247079 100644
15 --- a/plugins/git/git.plugin.zsh
16 +++ b/plugins/git/git.plugin.zsh
17 @@ -97,6 +97,13 @@ alias gcas='git commit -a -s'
18 alias gcasm='git commit -a -s -m'
19 alias gcb='git checkout -b'
20 alias gcf='git config --list'
21 +
22 +function gccd() {
23 + command git clone --recurse-submodules "$@"
24 + [[ -d "$_" ]] && cd "$_" || cd "${${_:h}%.git}"
25 +}
26 +compdef _git gccd=git-clone
27 +
28 alias gcl='git clone --recurse-submodules'
29 alias gclean='git clean -id'
30 alias gpristine='git reset --hard && git clean -dffx'