Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
A simple bash script to run git commands into multiple nested git repositories.
It is great for projects that are split into multiple repositories.
The tool detects nested git repositories (one level deep) and run any command you pass to it on each nested repository:
git x status
git x checkout master
git x pull
git x <any valid git command and arguments>
It has become a common practice these days to break bigger projects into smaller ones. Take the example bellow:
.
├── README.md
├── frontend-app/
├── library-1/
├── library-2/
├── service-1/
└── service-2/
And while this approach makes it easier to maintain and deploy each project individually, it adds complexity to manage them all as "one". There are solutions like foreman and docker-compose that helps running them, but you still need to manage each Git repository individually.
This project's goal is to make it easy to run a git command on all these nested git repositories at once. So you can change branches, pull changes and check statuses; literally do everything you could if you would be running these commands on each nested folders.
So instead of doing:
git status
cd frontend-app
git status
cd ..
cd library-1
git status
cd ..
cd library-2
git status
cd ..
cd service-1
git status
cd ..
cd service-2
git status
cd ..
You can simply do:
git x status
It is Git Submodules without all the hassle.
Another motivation is on-boarding new developers to a project. We wanted to make it easy to clone a parent repository, and from it clone, all the nested repositories.
If run the tool on a git repository, it automatically creates a .gitrepositories
file containing the URLs for all nested repositories, such as:
git@github.com:fancy-project/frontend-app.git
git@github.com:fancy-project/library-1.git
git@github.com:fancy-project/library-2.git
git@github.com:fancy-project/service-1.git
git@github.com:fancy-project/service-2.git
This file then can be checked into source control and latter be used to clone all nested repositories by a new developer:
git x clone
For simplicity, it is available as a NPM package:
npm install -g git-x
But since it is a simple bash script, you can simply download the latest release and add it to your path.
curl -O https://raw.githubusercontent.com/pirelenito/git-x/master/git-x.sh
chmod +x git-x.sh
FAQs
run git commands on multiple folders
We found that git-x demonstrated a not healthy version release cadence and project activity because the last version was released 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.