Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
gites is the home of all developers. It provides bulk clone, bulk push, bulk pull etc functions. Contact me with my discord ID: pakkin.lau
Image: The photos of "gites".
I personally use GitHub as a cloud drive to sync and maintain a lot of personal repos. I found the process of typing git commands everyday to be very repetitive. So, I thought this workflow should be streamlined into a single click.
The goal of this package is to mimic the user experience of using a cloud drive like Google Drive or One Drive. This package tries to memorize your GitHub repo names, their GitHub link and record these into a single document. Git commands are streamlined to be one-clicked. This will save you time when developing and synchronizing your projects like Python packages.
Compare with gitpython
:
Feature / Capability | This Package | gitpython Library |
---|---|---|
Manage JSON file | ✔️ Custom JSON handling | ❌ JSON handling only |
Create Git repositories | ✔️ | ✔️ |
Commit changes | ✔️ | ✔️ |
Push changes to remote | ✔️ | ✔️ |
Pull changes from remote | ❌ (Not mentioned) | ✔️ |
Sync with one click | ✔️ Custom implementation | ❌ (Not mentioned) |
Subprocess management | ✔️ | ❌ |
Pre-commit hooks | ✔️ Custom implementation | ❌ |
Custom timing functionality | ✔️ | ❌ |
Comprehensive error handling | ✔️ | ✔️ |
JSON configuration options | ✔️ Custom implementation | ❌ |
Flexibility for expansion | ✔️ | ✔️ |
Popularity and community support | ❌ (Not mentioned) | ✔️ Well-established |
Compare with vscode source control
:
Feature | This Package | VS Code Source Control |
---|---|---|
JSON Management | ✔️ | ❌ |
One-Click Sync | ✔️ | ✔️ |
Git Integration | ✔️ | ✔️ |
Commit Management | ✔️ | ✔️ |
Branch Management | ✔️ | ✔️ |
Diff Viewer | ✔️ | ✔️ |
History Tracking | ✔️ | ✔️ |
Conflict Resolution | ✔️ | ✔️ |
User-Friendly UI | ✔️ | ✔️ |
Customization | ✔️ | ✔️ |
Remote Repo Support | ✔️ | ✔️ |
Real-time Updates | ❌ | ✔️ |
Collaboration | ❌ | ✔️ |
Performance | Depends on Implem. | ✔️ |
(Note: We will add real-time updates and progress tracking bars in the future to make the package to be more competitive)
gites lpush
:Bulk Pushing Made Easy: With Gites, you can quickly push changes from a local folder on your computer. Just specify the root folder, and it becomes your personal Git sync center, simplifying the synchronization process.
gites lclone
:gites lfetch
(alpha):gites lpull
:Install Gites using pip:
pip install gites
To use gites effectively, you need to create a configuration file named my_gites.json
. This file will store information about your repositories and their locations. Follow these guidelines:
Ensure you place my_gites.json in a folder that's regularly backed up in the cloud, such as a local GitHub repository or Google Drive folder.
Here's a template for my_gites.json
:
{
"repositories": [
{
"name": "prog-for-humanists",
"remote_url": "https://github.com/pakkinlau/prog-for-humanists.git"
},
{
"name": "Python coding gym",
"remote_url": "https://github.com/pakkinlau/python-coding-gym.git"
}
],
"root_directories": {
"linux": "/home/kin/All_github_repos/",
"windows": "C:\\Users\\kinla\\Documents\\All_github_repo"
}
}
gites
commands from the terminalNow that you've set up gites, you can start using it to manage your repositories efficiently. Simply open your terminal and execute Gites commands.
For example, to push all repositories from your local folder, run:
gites lpush
The first time you install or reinstall Gites, it will prompt you to specify the location of your my_gites.json
datastore file. You can paste the file path of the file we have made in step 2, into the terminal.
Once you've set the configuration file's location, Gites won't ask for it again.
And the command will be automatically run
RenameManager()
Contributions to this repository are highly encouraged! If you have ideas for improvements, additional functionalities, or bug fixes, feel free to open an issue or submit a pull request. Let's collaborate to make Git management even more powerful and user-friendly.
This repository is open-source and available under the MIT License. You are welcome to use, modify, and distribute the code as per the terms of the license.
Enjoy using the Git-management package! 🚀
(The following error should be fixed)
If you encounter the following message, it indicates that your IDE or terminal settings are not using the default configuration:
To fix it, you need to add the path showing in the PATH of your PC to make the command works in your terminal.
Adding Gites to the PATH (for making the CLI commands of this package work)
nano ~/.bashrc
export PATH="$PATH:/home/kin/.local/bin"
source ~/.bashrc
FAQs
gites is the home of all developers. It provides bulk clone, bulk push, bulk pull etc functions. Contact me with my discord ID: pakkin.lau
We found that gites demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.