Navigate to the user's root directory, and append the following codes to the fie .bash_profile

local_remote() {
    read -p "create local and remote git repository push all files in current directory? y/* " verify
    case "$verify" in
        yes|y)
            echo "..."
            ;;
        *)
            echo -n "you didn't enter y or n"
            exit
            ;;
    esac
    repo_name=$1
   
    dir_name=`basename $(pwd)`
   
    if [ "$repo_name" = "" ]; then
        echo "Repo name (hit enter to use '$dir_name')?"
        read repo_name
    fi
   
    if [ "$repo_name" = "" ]; then
        repo_name=$dir_name
    fi
   
    username=`git config github.user`
    if [ "$username" = "" ]; then
        echo "Could not find username, run 'git config --global github.user <username>'"
        invalid_credentials=1
    fi
   
    token=`git config github.token`
    if [ "$token" = "" ]; then
        echo "Could not find token, run 'git config --global github.token <token>'"
        invalid_credentials=1
    fi
   
    if [ "$invalid_credentials" == "1" ]; then
        return 1
    fi
 
    echo -n "Creating local Github repository '$repo_name' ..."
    git init && git add . && git cm -m 'init commit' > /dev/null 2>&1
    echo " done."
   
    echo -n "Creating Github remote repository '$repo_name' ..."
    curl -u "$username:$token" https://api.github.com/user/repos -d '{"name":"'$repo_name'"}' > /dev/null 2>&1
    echo " done."
   
    echo -n "Pushing local code to remote ..."
    git remote add origin git@github.com:$username/$repo_name.git > /dev/null 2>&1
    git push -u origin master > /dev/null 2>&1
    echo " done."
}

Every time you hit local_remote you'll create the local and remote git repository automatically. But notice the warning before you enter the first y or yes to verify. Once one have master bash programming, he can make his routine work much easy. I only have the basics of bash shell scripting only in hand and hope to know more and become a guru someday.  


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐