⚠️ ☢️☣️ For this to work properly, it must be run within the main folder of a Git repository and Git must be installed. ☣️☢️⚠️
https://pypi.org/project/git-history-analyzer/
This package provides a simple way to analyze the commit history of a specified file in a Git repository. It retrieves the complete commit history along with the changes made in each commit, allowing users to track modifications effectively.
- Retrieve commit history for a specific file.
- Display details such as commit ID, author, date, and commit message.
- Track line changes with added and removed lines.
You can install the package using pip:
pip install git-history-analyzerHere's how to use the GitCommitsReportGenerator function:
report_type=['blame', 'log_history'], print_details=False
list_files_to_read(list): list of The path to the files you want to analyze. Please use single slashes (/) for linux or double backslashes (\\) for windows, depending on the operating system you are using to avoid directory-related issues.report_type(list) ['blame', 'log_history']print_details(bool): If set toTrue, the function will print the details of each commit. Default isFalse.
The function returns a list of dictionaries, where each dictionary contains:
Branch: The branch currently under analysis.commit_id: The ID of the commit.commit_author: The author of the commit.commit_email: The author's email address.commit_date: The date of the commit.commit_message: The message associated with the commit.changes: A list of changes, each detailing the type (added or removed), the line content, and the line number.
📦 jorge_cardona_project [project_directory] ┗ report [package] ┃ ┣ 📂 blame [package] ┃ ┃ ┣ blame_report_main.py ┃ ┣ 📂 log_history [package] ┃ ┃ ┣ log_history_main.py ┗ 📂 deployment [package] ┗ 📂 requirements [package] ┗ 📂 test [package] ┗ 🐍 main.py [__main__] ┗ 📜 README.md ┗ ⚠️ .gitignore
from git_history_analyzer import GitCommitsReportGenerator
# Example usage
list_files_to_read = ['C:\\Users\\USUARIO\\Documents\\satellite_notifier\\main.py',
'C:\\Users\\USUARIO\\Documents\\satellite_notifier\\.github\workflows\\main.yml']
GitCommitsReportGenerator(list_files_to_read=list_files_to_read,
report_type=['blame'],
print_details=True)from git_history_analyzer import GitCommitsReportGenerator
# Example usage
list_files_to_read = ['C:\\Users\\USUARIO\\Documents\\satellite_notifier\\main.py',
'C:\\Users\\USUARIO\\Documents\\satellite_notifier\\.github\workflows\\main.yml']
GitCommitsReportGenerator(list_files_to_read=list_files_to_read,
report_type=['log_history'],
print_details=True)from git_history_analyzer import GitCommitsReportGenerator
# Example usage
list_files_to_read = ['C:\\Users\\USUARIO\\Documents\\satellite_notifier\\main.py',
'C:\\Users\\USUARIO\\Documents\\satellite_notifier\\.github\workflows\\main.yml']
GitCommitsReportGenerator(list_files_to_read=list_files_to_read)Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Project Link: GitHub Repository




