45
loading...
This website collects cookies to deliver better user experience
> Git: clone
git-clone-tmux() {
local repo=""
local directory=""
local clone_path=""
repo="${1}"
directory="${2}"
[ -z "${repo}" ] && read -e -p "Repo: " repo
[ -z "${directory}" ] && read -e -p "Directory: " -i "${HOME}/Work" directory
if [[ "${repo}" =~ ^github ]] || [[ "${repo}" =~ "${GH_HOST}" ]]; then
clone_path="${directory}/${repo}"
gh repo clone "${repo}" "${clone_path}"
elif [[ "${repo}" =~ ^gitlab ]] || [[ "${repo}" =~ "${GL_HOST}" ]]; then
clone_path="${directory}/${repo}"
glab repo clone "${repo}" "${clone_path}"
else
clone_path="${directory}/$(basename ${repo})"
git clone "${repo}" "${clone_path}"
fi
tmux new-window -c "${clone_path}" -n "${clone_path}" vim .
}
$ git-clone-tmux
?[ -z "${repo}" ] && read -e -p "Repo: " repo
${repo}
is empty, then prompt user interactively[ -z "${directory}" ] && read -e -p "Directory: " -i "${HOME}/Work" directory
${directory}
is empty, then prompt user interactivelyif [[ "${repo}" =~ ^github ]]
${repo}
starts with github
, then use gh
to clone the repoif [[ "${repo}" =~ ^gitlab ]]
${repo}
starts with gitlab
, then use glab
to clone the repo${repo}
starts with https://
tmux new-window -c "${clone_path}" -n "${clone_path}" vim .
vim .
$ git config --global alias.clone-tmux '!/usr/bin/env bash -ic git-clone-tmux'
[alias]
clone-tmux = !/usr/bin/env bash -ic git-clone-tmux
git clone-tmux <repo> <dir>
or git clone-tmux
for interactive prompting. .config/git/config
dotfile..functions
dotfile.