Git Service
Git service for repository operations
Overview
Provides git repository management functionality including initialization, branch management, staging, commits, and repository information.
Classes
GitService
Abstract interface for git operations
Inherits from: ABC
Abstract class
Methods
add_files
add_files(self, project_path: pathlib.Path, file_patterns: Optional[List[str]] = None) -> bool
Add files to the staging area. If file_patterns is None, adds all files
Parameters:
project_path(Path, required)file_patterns(Optional, optional)
Returns: bool
checkout_branch
checkout_branch(self, branch_name: str, project_path: pathlib.Path) -> bool
Switch to the specified branch
Parameters:
branch_name(str, required)project_path(Path, required)
Returns: bool
commit_changes
commit_changes(self, message: str, project_path: pathlib.Path) -> bool
Commit staged changes with the given message
Parameters:
message(str, required)project_path(Path, required)
Returns: bool
configure_platform_line_endings
configure_platform_line_endings(self, project_path: pathlib.Path) -> bool
Configure git for platform-specific line endings
Parameters:
project_path(Path, required)
Returns: bool
create_branch
create_branch(self, branch_name: str, project_path: pathlib.Path) -> bool
Create a new branch with the given name
Parameters:
branch_name(str, required)project_path(Path, required)
Returns: bool
get_current_branch
get_current_branch(self, project_path: pathlib.Path) -> Optional[str]
Get the name of the current branch
Parameters:
project_path(Path, required)
Returns: Optional
get_remote_url
get_remote_url(self, project_path: pathlib.Path) -> Optional[str]
Get the remote origin URL
Parameters:
project_path(Path, required)
Returns: Optional
init_repository
init_repository(self, project_path: pathlib.Path) -> bool
Initialize a git repository in the specified path
Parameters:
project_path(Path, required)
Returns: bool
is_git_repository
is_git_repository(self, project_path: pathlib.Path) -> bool
Check if the specified path is inside a git repository
Parameters:
project_path(Path, required)
Returns: bool