I often need to download a gitignore when starting a project, so I made a function that will get a gitignore for a given project from GitHub’s collection.
This method supports exactly one arguement, and creates a .gitignore
in your working directory. It pulls from GitHub’s collection of
gitignore files.
# $1 gitignore to grab
get_git_ignore() {
if [[ $# -eq 0 ]] ; then
echo "Usage $0 <GIT_IGNORE>"
return 1
fi
placesToTry=(
https://raw.githubusercontent.com/github/gitignore/master/
https://raw.githubusercontent.com/github/gitignore/master/Global/
)
result_out=$(mktemp)
for u in $placesToTry ; do
url=$u$1.gitignore
response=$(curl --write-out %{http_code} --silent --output "$result_out" $url)
[ "$response" = "200" ] && break
done
if [[ "$response" = "200" ]] ; then
echo "Found Gitignore. Appending to gitignore in directory"
cat $result_out >> .gitignore
else
echo "Failed to find requested gitignore on github"
fi
rm $result_out
}
This script does not handle adding multiple of the same gitignore. It also assumes that you already working in the directory you want to place the retrived gitignore content.
To add this to your shell. Append it to either your .zshrc
or
.bashrc
, depending on what shell you use.