Metadata-Version: 2.1
Name: igit
Version: 2020.10.25.post2
Summary: Interactive git and more
Home-page: https://github.com/kobibarhanin/igit
Author: kobi
Author-email: 
License: UNKNOWN
Description: [![Build Status](https://travis-ci.com/kobibarhanin/gitenv.svg?branch=master)](https://travis-ci.com/kobibarhanin/igit)
        [![PyPI version](https://badge.fury.io/py/igit.svg)](https://badge.fury.io/py/igit)
        
        # Igit - Interactive Git
        
        Igit is an interactive supplementary CLI to git for better git experience.
        
        ## Main features:
        1. Fast commits - add, commit & push, instantly. 
        2. Undo changes - cancel changes made to any file.
        3. Branch hopping - move between branches, even if you have unstaged changes, without having to stage them.
        4. Easy ignore - add files to ignore, sync with remote. 
        5. Interactivity - select and check instead of typing.
        
        
        ## Installation
        
        With [pip](https://pip.pypa.io/en/stable/):
        
        ```bash
        pip install igit
        ```
        
        ## Usage
        ![help](examples/help.png)
        
        ### Fast commits
        
        #### From:
        ```bash
        # git add .
        # git commit -m "commit message"
        # git push 
        ```
        
        #### To:
        ```bash
        igit up "commit message" 
        ```
        
        ![up](examples/up_cmd.png)
        
        #### Notes:
        - If you don't specify a commit message it will default to 'fast commit'.
        - Same goes for ```igit save``` - without pushing to remote.
        
        
        ### Undo changes
        
        ```bash
        # To undo changes in an unstaged changed file:
        igit undo file_1.py 
        # To pick a file just drop the file's name:
        igit undo
        ```
        
        ![undo](examples/undo_cmd.png)
        
        #### Notes:
        - Same goes for ```igit unstage``` with respect to added files.
        
        
        ### Branch hopping
        
        ```bash
        # To change branches:
        igit branch
        # To change branches with unstaged changes:
        igit branch --hopping_on 
        ```
        ![branch](examples/branch_cmd.png)
        
        #### Notes:
        - When in hopping mode all change are stored to the git stash. 
        You can use ```git stash list``` to see stashed changes and ```git stash pop``` to retrieve stashed changes
        
        
        ### Branch hopping
        
        ```bash
        # To add files to .gitignore:
        igit ignore
        # To create a .gitignore:
        igit ignore --create  
        ```
        ![ignore](examples/ignore_cmd.png)
        
        #### Notes:
        - In case your local .gitignore is not in sync with your remote .gitignore you can use: 
        ```bash
        # Reset .gitignore:
        igit ignore --reset 
        ```
        And then push to remote - your current .gitignore will take effect. 
        
        ## Compatibility
        igit is cross-platform → Windows, macOS, Linux 
        
        🤓 windows users will get best experience with windows terminal - powershell session.
        	
        
        ## Built with
        
        - click
        - gitpython
        - inquirer
        - emoji
        
        ## Contributing
        Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
        Please make sure to update tests as appropriate.
        
        ### Local dev environment (macOS / Linux)
        
        - Clone this project
        - cd into project directory
        - Run: pipenv install
        - Run: pipenv --venv 
        - Add [bash alias](https://linuxize.com/post/how-to-create-bash-aliases/):
        ```bash
        alias igit='PYTHONPATH=<LOCAL GITSY PROJECT DIR> <PIPENV VENV PATH>/bin/python3 <LOCAL IGIT PROJECT DIR>/igit/cli.py'
        ```
        - Now you can run igit from bash and code changes in local igit dir will apply.
        
        
        
        ## License
        [MIT](https://choosealicense.com/licenses/mit/)
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
