Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Tool for continuous delivery using git

Project Description

.. image:: https://www.gitcd.io/logo.svg
:height: 150px
:width: 150px


Continuous tool for working with git
====================================

**Development Status**

.. image:: https://img.shields.io/pypi/status/gitcd.svg
:target: https://pypi.org/project/gitcd/

.. image:: https://travis-ci.org/claudio-walser/gitcd.svg?branch=master
:target: https://travis-ci.org/claudio-walser/gitcd

.. image:: https://readthedocs.org/projects/gitcd/badge/?version=latest
:target: https://gitcd.readthedocs.org/en/latest/?badge=latest

.. image:: https://img.shields.io/github/last-commit/claudio-walser/gitcd.svg
:target: https://github.com/claudio-walser/gitcd/commits/master



**Package Info**

.. image:: https://badge.fury.io/py/gitcd.svg
:target: https://pypi.org/project/gitcd/

.. image:: https://img.shields.io/pypi/wheel/gitcd.svg
:target: https://pypi.org/project/gitcd/

.. image:: http://img.shields.io/badge/license-APACHE2-blue.svg
:target: https://github.com/claudio-walser/gitcd/blob/master/LICENSE

.. image:: https://img.shields.io/pypi/pyversions/gitcd.svg
:target: https://pypi.org/project/gitcd/


Description
-----------

**gitcd** is a little helper for continuous integration workflows using
git as scm.

Installation
------------

Since gitcd is using python3 by default, you better upgrade.
Unfortunately installing kivy by script is not that easy, therefore you need to take some extra manual work. I might takle this in future releases.

After successful installation of python3 and pip for pyhton3, install the following prerequisites:


- MacOSX:

.. code:: console

brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
pip3 install -I Cython==0.25.2
pip3 install kivy
pip3 install kivymd

- Debian/Ubuntu:

.. code:: console

apt-get install python3-kivy
pip3 install kivymd

Then you are ready to install gitcd with the following command:

.. code:: console

pip3 install --user --upgrade gitcd

If you are on mac osx and your local python folder isn't in your PATH variable you might add it to $PATH or symlink it in /usr/local/bin with sudo.

**Max OSX**

.. code:: console

sudo ln -s /Users/<username>/Library/Python/<python-version>/bin/git-cd /usr/local/bin/

The same applies to linux, however, the path is different. (On usual Distributions this is in $PATH already)

.. code:: console

sudo ln -s /home/<username>/.local/bin/git-cd /usr/local/bin/

Argument Completion
-------------------

Gitcd supports argument completion, to activate this feature in linux run:

.. code:: console

sudo activate-global-python-argcomplete3

Under OSX it isn't that simple unfortunately. Global completion requires bash support for complete -D, which was introduced in bash 4.2. On OS X or older Linux systems, you will need to update bash to use this feature. Check the version of the running copy of bash with echo $BASH_VERSION. On OS X, install bash via Homebrew (brew install bash), add /usr/local/bin/bash to /etc/shells, and run chsh to change your shell.
Afterwards you might be able to also just run:

.. code:: console

sudo activate-global-python-argcomplete3

Usage
-----

Check version and upgrade
~~~~~~~~~~~~~~~~~~~~~~~~

Gitcd is aware of it's local and remote versions and may upgrade itself if you want to.

.. code:: console

git cd upgrade


Initialize a project
~~~~~~~~~~~~~~~~~~~~

cd into one of your local directories
representing a git repository and run the init command. Pass your configuration, for most cases the default values should be ok.

.. code:: console

git cd init


Pull request status
~~~~~~~~~~~~~~~~~~~

You are able to see the status of a feature
branch including the pull request and if it has already been reviewed by
someone.

.. code:: console

git cd status


Clean up local branches
~~~~~~~~~~~~~~~~~~~~~~~

The tool is able to cleanup all local
branches which doesent exist on the origins. This is done with the clean command.

.. code:: console

git cd clean


Start new feature
~~~~~~~~~~~~~~~~~

Starts a new feature branch from your master branch. If you dont pass a branchname, you will be asked later.

.. code:: console

git cd start <branchname>


Test a feature branch
~~~~~~~~~~~~~~~~~~~~~

Merges a feature branch into your development branch. If you dont pass a branchname, your current branch will be taken.

.. code:: console

git cd test <branchname>


Open a pull request for code review
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Opens a pull request to your master branch. If you dont pass a branchname, your current branch will be taken.

.. code:: console

git cd review <branchname>


Finish a feature branch
~~~~~~~~~~~~~~~~~~~~~~~

Merges it into your master and asks for permission to delete your
feature branch. If you dont pass a branchname, your current branch will be taken.

.. code:: console

git cd finish <branchname>


Compare your current branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Compares your current branch against the given branchname or the latest
tag if none is given.

.. code:: console

git cd compare <branchname>


Tagging the master branch
~~~~~~~~~~~~~~~~~~~~~~~~~

Creates a tag from your master branch and pushes it to remote.

.. code:: console

git cd release


Known Issues
------------

If you discover any bugs, feel free to create an issue on GitHub fork
and send us a pull request.

`Issues List`_.


Authors
-------

- Claudio Walser (https://github.com/claudio-walser)
- Gianni Carafa (https://github.com/mms-gianni)


Contributing
------------

1. Fork it
2. Create your feature branch (``git cd start my-new-feature``)
3. Commit your changes (``git commit -am 'Add some feature'``)
4. Push to the branch (``git push origin feature/my-new-feature``)
5. Create new Pull Request (``git cd review my-new-feature``)


License
-------

Apache License 2.0 see
https://github.com/claudio-walser/gitcd/blob/master/LICENSE

.. _Issues List: https://github.com/claudio-walser/gitcd/issues



Release History

This version
History Node

2.0.5

History Node

2.0.4

History Node

2.0.3

History Node

2.0.2

History Node

2.0.1

History Node

2.0.0

History Node

1.6.16

History Node

1.6.15

History Node

1.6.14

History Node

1.6.13

History Node

1.6.12

History Node

1.6.11

History Node

1.6.10

History Node

1.6.8

History Node

1.6.7

History Node

1.6.6

History Node

1.6.5

History Node

1.6.3

History Node

1.6.2

History Node

1.6.1

History Node

1.6.0

History Node

1.5.10

History Node

1.5.8

History Node

1.5.7

History Node

1.5.6

History Node

1.5.5

History Node

1.5.4

History Node

1.5.3

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
gitcd-2.0.5-py3-none-any.whl
(35.8 kB) Copy SHA256 Hash SHA256
py3 Wheel Feb 16, 2018

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting