All Projects → mujtaba1747 → git-autocommit

mujtaba1747 / git-autocommit

Licence: GPL-3.0 license
A bash script to automate pushing changes to github

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to git-autocommit

stackOverflow focus
Remove all unnecessary clutter when looking for help on StackOverflow through a Chrome plugin.
Stars: ✭ 58 (+241.18%)
Mutual labels:  hacktoberfest2020
Dimensionality-reduction-and-classification-on-Hyperspectral-Images-Using-Python
In this repository, You can find the files which implement dimensionality reduction on the hyperspectral image(Indian Pines) with classification.
Stars: ✭ 63 (+270.59%)
Mutual labels:  hacktoberfest2020
hacktoberfest2020
This is a hacktoberfest repo with learning propose to make pull request(PR) and get contribute on opensource project
Stars: ✭ 13 (-23.53%)
Mutual labels:  hacktoberfest2020
oss-template
Um template PT-BR para projetos Open Source.
Stars: ✭ 15 (-11.76%)
Mutual labels:  hacktoberfest2020
VSCodePopTheme
A port of Pop! Theme for VSCode
Stars: ✭ 33 (+94.12%)
Mutual labels:  hacktoberfest2020
algorithm-zoo
Implementations of algorithms from http://quantumalgorithmzoo.org/
Stars: ✭ 17 (+0%)
Mutual labels:  hacktoberfest2020
agile-architecture-documentation-system
A maven archetype to generate easily projects allowing architecture description using a mix of C4, agile architecture, Asciidoc and PlantUML
Stars: ✭ 27 (+58.82%)
Mutual labels:  hacktoberfest2020
node-mongoose-setup
Nodejs MongoDB REST API Sarter
Stars: ✭ 48 (+182.35%)
Mutual labels:  hacktoberfest2020
first-pr-repo
A step by step guide to help people make their first Pull Request
Stars: ✭ 29 (+70.59%)
Mutual labels:  hacktoberfest2020
Hackerrank-Codes
Here are some of the solutions to HackerRank questions.
Stars: ✭ 63 (+270.59%)
Mutual labels:  hacktoberfest2020
sharedsharder
Shard your discord.js bot across devices!
Stars: ✭ 18 (+5.88%)
Mutual labels:  hacktoberfest2020
security bear
🧸🛡️ Security Bear provides easy integration with the device like making it connect to home WiFi through an app and getting secure and unique user credentials of the device in order to troubleshoot. If you have ever wondered "Is there an open-source project to make my own smart home?", This is just part of one.
Stars: ✭ 22 (+29.41%)
Mutual labels:  hacktoberfest2020
SpoketoberfestResources
No description or website provided.
Stars: ✭ 16 (-5.88%)
Mutual labels:  hacktoberfest2020
GameHer
Gameher is a French association aspiring to develop gender diversity in the fields of video games, esport and streaming. We want to give players the tools they need to flourish and evolve in the fields of video games, esport and streaming.
Stars: ✭ 35 (+105.88%)
Mutual labels:  hacktoberfest2020
hacktoberfest-beginner
Make your first contribution for Hacktoberfest in the simplest way
Stars: ✭ 16 (-5.88%)
Mutual labels:  hacktoberfest2020
Traverser
Traverser is a Java library that helps software engineers implement advanced iteration of a data structure.
Stars: ✭ 45 (+164.71%)
Mutual labels:  hacktoberfest2020
kdtree-in-python
Source Code for K-d tree in Python series
Stars: ✭ 61 (+258.82%)
Mutual labels:  hacktoberfest2020
iiitdmj-gpa
GPA Calculator + Quiz Bot for IIITDM Jabalpur
Stars: ✭ 16 (-5.88%)
Mutual labels:  hacktoberfest2020
Resources
No description or website provided.
Stars: ✭ 25 (+47.06%)
Mutual labels:  hacktoberfest2020
wp-boilerplate-plugin-with-vuejs
This is an example plugin for Wp plugin developer.
Stars: ✭ 26 (+52.94%)
Mutual labels:  hacktoberfest2020

git-autocommit

A bash script to automate pushing changes to github

Image

It Employs inotifywait (a Linux System Call from the inotify family) to recursively watch a directory for changes. Triggers Commands to push changes when they are detected.

This script can be easily modified for any VCS / Cloud provider which provides command-line interface.

Supporting Medium Article : https://medium.com/@mujtaba1747/how-to-learn-linux-and-git-25b18a815778

Before Using :

  1. Make sure git or whatever VCS you're using is configured properly (SSH keys) and you already have cloned the target repo to your local machine.
  2. Make sure you have inotify-tools installed. (if not, Ubuntu users can type : sudo apt-get install inotify-tools) for other Distros : https://github.com/inotify-tools/inotify-tools/wiki
  3. Make sure you have the correct path of the cloned repo in the script.

Using the script :

  • Use ./watch.sh to run it in the foreground
  • Use ./watch.sh & to run it in the background

How to stop the script from running in the background

  • If you run the script using ./watch.sh, it will terminate as soon as one presses Ctrl+C or Exits the Terminal Session.

  • If you run the script in the background (which is convenient) using ./watch.sh &

    The Ampersand sign (&) makes it or any process for that matter, to run in the background

    Once you're done using the script, it becomes tricky to stop the script. One way is to restart the machine which is easy but not convinient.

    Here is the smart method :

    Use ps aux | grep "watch.sh", find the PID of the script and then killing it using kill PID_of_watch.sh

    After that you'll have to run ps aux | grep "inotify", find the PID of inotify and then killing it using kill PID_of_inotify

Important Links for reference :

  1. To add ssh-keys : https://docs.github.com/en/enterprise/2.18/user/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent#generating-a-new-ssh-key

  2. Installing inotify-tools and more info : https://github.com/inotify-tools/inotify-tools/wiki

  3. Whats is /dev/null : https://linuxhint.com/what_is_dev_null/

  4. More about the kill command : http://linuxcommand.org/lc3_man_pages/kill1.html (one could go through man kill alternatively)

  5. More about the inotifywait call : https://man7.org/linux/man-pages/man1/inotifywait.1.html (one could go through man inotifywait instead if inotify-tools are installed)

  6. Video Demonstration of the Project : https://www.youtube.com/watch?v=2Gru7rnZRZA

Pull Requests and issues are Welcome !

For any queries feel free reach out : [email protected]

One small Caveat

You can't upload files whose individual size is larger than 50 MB. You can upload as many files as needed with smaller individual size. For larger files, https://git-lfs.github.com/ is recommended

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].