Skip to content

Instantly share code, notes, and snippets.

@Lucho00Cuba
Created September 29, 2024 19:14
Show Gist options
  • Select an option

  • Save Lucho00Cuba/44a22daf1579fd6eebea61dc2b8f929c to your computer and use it in GitHub Desktop.

Select an option

Save Lucho00Cuba/44a22daf1579fd6eebea61dc2b8f929c to your computer and use it in GitHub Desktop.
Generate ChangeLog Files
#!/usr/bin/env bash
# Check for changes in the repository
if git diff-index --quiet HEAD --; then
echo "No changes to show."
exit 0
fi
# Create a file to store the changelog summary
CHANGELOG="CHANGELOG.md"
echo "# Changelog" > "$CHANGELOG"
echo "Date: $(date)" >> "$CHANGELOG"
echo "Email: $(git config user.email)" >> "$CHANGELOG"
echo "" >> "$CHANGELOG"
# Get the list of modified files
echo "Modified files:" >> "$CHANGELOG"
echo "\`\`\`" >> "$CHANGELOG"
git diff --name-only HEAD | tee -a "$CHANGELOG"
echo "\`\`\`" >> "$CHANGELOG"
# Add changes for each file to the changelog
echo "" >> "$CHANGELOG"
echo "Change Details:" >> "$CHANGELOG"
# Iterate over each modified file
for file in $(git diff --name-only HEAD); do
echo "## $file" >> "$CHANGELOG"
echo "\`\`\`diff" >> "$CHANGELOG"
git diff HEAD -- "$file" >> "$CHANGELOG"
echo "\`\`\`" >> "$CHANGELOG"
echo "" >> "$CHANGELOG"
done
echo "Changelog saved to $CHANGELOG"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment