danielkummer.github.io
Open in
urlscan Pro
185.199.111.153
Public Scan
URL:
http://danielkummer.github.io/git-flow-cheatsheet/
Submission: On April 07 via manual from PL — Scanned from PL
Submission: On April 07 via manual from PL — Scanned from PL
Form analysis
0 forms found in the DOMText Content
Fork me on GitHub GIT-FLOW CHEATSHEET created by Daniel Kummer efficient branching using git-flow by Vincent Driessen translations: English - Castellano - Português Brasileiro - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Italiano - Nederlands - Русский (Russian) - Deutsch (German) - Català (Catalan) - Română (Romanian) - Ελληνικά (Greek) - Українська (Ukrainian) - Tiếng Việt (Vietnamese) - Polski - العربية - فارسی - Lietuviškai (Lithuanian) - Azərbaycanca (Azerbaijani) Bahasa Indonesia ABOUT git-flow are a set of git extensions to provide high-level repository operations for Vincent Driessen's branching model. more ★ ★ ★ This cheatsheet shows the basic usage and effect of git-flow operations ★ ★ ★ BASIC TIPS * Git flow provides excellent command line help and output. Read it carefully to see what's happening... * The macOS/Windows Client Sourcetree is an excellent git gui and provides git-flow support * Git-flow is a merge based solution. It doesn't rebase feature branches. ★ ★ ★ SETUP * You need a working git installation as prerequisite. * Git flow works on macOS, Linux and Windows ★ ★ ★ MACOS Homebrew > $ brew install git-flow-avh Macports > $ port install git-flow-avh LINUX > $ apt-get install git-flow WINDOWS (CYGWIN) > $ wget -q -O - --no-check-certificate > https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh > install stable | bash You need wget and util-linux to install git-flow. For detailed git flow installation instructions please visit the git flow wiki. GETTING STARTED Git flow needs to be initialized in order to customize your project setup. ★ ★ ★ INITIALIZE Start using git-flow by initializing it inside an existing git repository: > git flow init You'll have to answer a few questions regarding the naming conventions for your branches. It's recommended to use the default values. FEATURES * Develop new features for upcoming releases * Typically exist in developers repos only ★ ★ ★ START A NEW FEATURE Development of new features starting from the 'develop' branch. Start developing a new feature with > git flow feature start MYFEATURE This action creates a new feature branch based on 'develop' and switches to it FINISH UP A FEATURE Finish the development of a feature. This action performs the following * Merges MYFEATURE into 'develop' * Removes the feature branch * Switches back to 'develop' branch > git flow feature finish MYFEATURE PUBLISH A FEATURE Are you developing a feature in collaboration? Publish a feature to the remote server so it can be used by other users. > git flow feature publish MYFEATURE GETTING A PUBLISHED FEATURE Get a feature published by another user. > git flow feature pull origin MYFEATURE You can track a feature on origin by using > git flow feature track MYFEATURE MAKE A RELEASE * Support preparation of a new production release * Allow for minor bug fixes and preparing meta-data for a release ★ ★ ★ START A RELEASE To start a release, use the git flow release command. It creates a release branch created from the 'develop' branch. > git flow release start RELEASE [BASE] You can optionally supply a [BASE] commit sha-1 hash to start the release from. The commit must be on the 'develop' branch. ★ ★ ★ It's wise to publish the release branch after creating it to allow release commits by other developers. Do it similar to feature publishing with the command: > git flow release publish RELEASE (You can track a remote release with the git flow release track RELEASE command) FINISH UP A RELEASE Finishing a release is one of the big steps in git branching. It performs several actions: * Merges the release branch back into 'master' * Tags the release with its name * Back-merges the release into 'develop' * Removes the release branch > git flow release finish RELEASE Don't forget to push your tags with git push origin --tags HOTFIXES * Hotfixes arise from the necessity to act immediately upon an undesired state of a live production version * May be branched off from the corresponding tag on the master branch that marks the production version. ★ ★ ★ GIT FLOW HOTFIX START Like the other git flow commands, a hotfix is started with > git flow hotfix start VERSION [BASENAME] The version argument hereby marks the new hotfix release name. Optionally you can specify a basename to start from. FINISH A HOTFIX By finishing a hotfix it gets merged back into develop and master. Additionally the master merge is tagged with the hotfix version. > git flow hotfix finish VERSION COMMANDS BACKLOG ★ ★ ★ * Not all available commands are covered here, only the most important ones * You can still use git and all its commands normally as you know them, git flow is only a tooling collection * The 'support' feature is still beta, using it is not advised * If you'd like to supply translations I'd be happy to integrate them ★ ★ ★ COMMENTS Please enable JavaScript to view the comments powered by Disqus.