Have you ever wondered how nice it would be if you could code your project and when you think it is time to publish it on a version control host like GitHub you could just type a command line and it sets up your repository? That is what Git Management CLI, gitmgt, gives to you. Now you do not need to leave your project's environment to manually create you repository on GitHub, you just need to type gitmgt create -n awesome_repo and then push your project.
To install gitmgt it is necessary that your machine has the following prerequisites:
- Rust
- Cargo
The easiest, and recommended way to install gitmgt is to download directly by crates.io typing cargo install gitmgt in a terminal.
Once it is finished, the tool is ready to be used and you can type gitmgt --version just to check.
Other option is to download the code from this repository and build it manualy by typing cargo build --release in a terminal and when cargo process finishes just move the binary file from target/release/ directory to where you think is better and add the binary path to the $PATH.
Once it is finished the the tool is ready to use and you can type gitmgt --version just to check.
After the installation process finishes, to start using gitmgt cli the user will have to insert the Github credentials to have access to all the set tools. The user just needs to create a new personal access token in Github portal and then just type in a terminal
gitmgt config -u github_username -t personal_access_tokenAfter this all the commands are ready to be used.
Update Github credentials
gitmgt github_config -u github_username -t github_tokenGithub Repository creation
gitmgt create -n awesome_repository_namesince Github is the most common version control service, it is the default option and its indication can be suppressed.
gitmgt github create -n awesome_repository_nameOrg's repository creation
gitmgt github create -o orr_name -n awesome_repository_namePrivate repository creation
gitmgt github create -n awesome_repository_name -pAuto init repository creation
gitmgt github create -n awesome_repository_name -iRepository deletion
gitmgt delete -n awesome_repository_nameOrg's repository deletion
gitmgt delete -o org_name -n awesome_repository_nameRepository archiving
gitmgt archive -n awesome_repository_nameOrg's repository archiving
gitmgt archive -o org_name -n awesome_repository_nameRepository's description update
gitmgt update -n awesome_repository_name -d "update awesome description od the repo"Repository's visibility update public to private
gitmgt update -n awesome_repository_name -iRepository's visibility update private to public
gitmgt update -n awesome_repository_nameCreate Pull Request
gitmgt github pullrequest -n awesome_repository_name -H head_branch -B base_branch -T "Title of the Pull Request" -b "Body message of the Pull Request"List Pull Request
gitmgt github listpr -n awesome_repository_name [-s all|open|close]Merge Pull Request
gitmgt github merge -n awesome_repository_name -N pullrequest_number -M merge_method merge|squash|rebaseLooking for help
gitmgt --helpContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Copyright 2021 João Pedro Poloni Ponce
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.