diff options
author | Silvino Silva <silvino@bk.ru> | 2016-09-22 02:11:35 +0100 |
---|---|---|
committer | Silvino Silva <silvino@bk.ru> | 2016-09-22 02:11:35 +0100 |
commit | 1b8d9ebe8bf86e4fb413bf8d51669baa701a603f (patch) | |
tree | b8d1685b153540800b09ee0e331a65a2307d0b8a /dev | |
parent | f3e8ffbd77c91a2d3845d4c02671420e22e96ba7 (diff) | |
parent | 9741df07f44b23ce7ac66a55cef65fe6c9c45b37 (diff) | |
download | doc-1b8d9ebe8bf86e4fb413bf8d51669baa701a603f.tar.gz |
release 0.2.1
Diffstat (limited to 'dev')
-rw-r--r-- | dev/git.html | 242 | ||||
-rw-r--r-- | dev/index.html | 86 |
2 files changed, 328 insertions, 0 deletions
diff --git a/dev/git.html b/dev/git.html new file mode 100644 index 0000000..fdae528 --- /dev/null +++ b/dev/git.html @@ -0,0 +1,242 @@ +<!DOCTYPEhtml> +<htmldir="ltr" lang="en"> +<head> + <meta charset='utf-8'> + <title>Git</title> +</head> +<body> + + <a href="index.html">Dev Index</a> + <h1>Git</h1> + + <p>First configure your global identity, configuration + file resides on ~/.gitconfig ;</p> + + <pre> + $ git config --global user.name "User Name" + $ git config --global user.email user@devbox + </pre> + + <p>Assumptions of this document;</p> + + <ul> + <li>Correct + <a href="../tools/gitolite.html#adminusers">user account</a> + exists on git server or is public readable. + </li> + <li>Repository exists or + <a href="../tools/gitolite.html#adminrep">create one</a> + if you have permissions. This document uses atom as example. + </li> + <li>Correct + <a href="../tools/openssh.html#sshid">ssh identities</a>, + and profile alias have been setup. This document uses devbox as example. + </li> + </ul> + + <h2 id="teamwork">Team WorkFlow</h2> + + <p>This work flow is based on + <a href="http://nvie.com/posts/a-successful-git-branching-model/">Vicent Driessen</a>, + development model, it defines rules how branches are forked, + merged and tagged. By having well defined set of branches, + the project structure is used as a communication tool, + allowing to work simultaneously on different stages + of the development.</p> + + <pre> + $ git clone devbox:atom + $ git remote -v + </pre> + + + <h3>Main Branches;</h3> + + <dl> + <dt>master</dt> + <dd>Current official stable release history.</dd> + <dt>release</dt> + <dd>Next release, new features not allowed.</dd> + <dt>develop</dt> + <dd>Integration branch for features.</dd> + </dl> + + <h3>Add-on Branches;</h3> + + <dl> + <dt>feature</dt> + <dd>New features, improvement proposal, tests, etc...</dd> + <dt>hotfix</dt> + <dd>Hotfix is branched of master and should only contain isolated bugfixes.</dd> + </dl> + + <h2 id="feature">Feature</h2> + + <p>Create a branch and checkout;</p> + + <pre> + $ git checkout -b featurex develop + </pre> + + <p>Push new branch to server</p> + + <pre> + $ git push -u origin featurex + </pre> + + <p>Rename a branch;</p> + + <pre> + $ git branch -m featurex feature-x + </pre> + + <p>Rename remote branch;</p> + + <pre> + $ git push origin :featurex feature-x + $ git push origin -u feature-x + </pre> + + <p>Merge branch feature into develop;</p> + + <pre> + $ git checkout develop + Switched to branch 'develop' + $ git merge --no-ff feature-x + Updating ea1b82a..05e9557 + (Summary of changes) + $ git push origin develop + </pre> + + <p>Delete Local;</p> + + <pre> + $ git branch -D feature-x + </pre> + + <p>Delete Remote</p> + + <pre> + $ git push origin :feature-x + </pre> + + <h2 id="release">Release</h2> + + <pre> + $ git checkout -b release-1.2 develop + Switched to a new branch "release-1.2" + $ ./bump-version.sh 1.2 + Files modified successfully, version bumped to 1.2. + $ git commit -a -m "Bumped version number to 1.2" + [release-1.2 74d9424] Bumped version number to 1.2 + 1 files changed, 1 insertions(+), 1 deletions(-) + </pre> + + <p>Only documentation or bugfixes are allowed in this + branch. When release is ready for production merge + and push to master;</p> + + <pre> + $ git checkout master + Switched to branch 'master' + $ git merge --no-ff release-1.2 + Merge made by recursive. + (Summary of changes) + $ git tag -a 1.2 + </pre> + + <p>Update branch develop with bugfixes from last release, + conflict will happen in next step</p> + + <pre> + $ git checkout develop + Switched to branch 'develop' + $ git merge --no-ff release-1.2 + Merge made by recursive. + (Summary of changes) + </pre> + + <h2 id="hotfix">Hotfix</h2> + + <p>This branch should never exist, ;)</p> + + <pre> + $ git checkout -b hotfix-1.2.1 master + $ ./bump-version.sh 1.2.1 + Files modified successfully, version bumped to 1.2.1 + $ git commit -a -m "Bumped version number to 1.2" + </pre> + + <pre> + $ git commit -m "Commit severe fixes" + </pre> + + <pre> + $ git checkout master + Switched to branch 'master' + $ git merge --no-ff release-1.2.1 + Merge made by recursive. + (Summary of changes) + $ git tag -a 1.2.1 + </pre> + + <p>Conflict will happen in next step</p> + + <pre> + $ git checkout develop + Switched to branch 'develop' + $ git merge --no-ff release-1.2.1 + Merge made by recursive. + (Summary of changes) + </pre> + + <pre> + $ git -D hotfix-1.2.1 + </pre> + + <h2 id="tags">Tags</h2> + + <pre> + $ git tag -m "this commit is tagged" -a "v1.8" + $ git push --follow-tags + </pre> + + <p>Delete local and remote tag;</p> + + <pre> + $ git tag -d v1.8 + $ git push origin :refs/tags/v1.8 + </pre> + + <h2 id="local">Local Workflow</h2> + + <p>Mark all deleted to commit;</p> + + <pre> + $ git ls-files --deleted -z | xargs -0 git rm + </pre> + + <p>Last commit that affected current path</p> + + <pre> + $ git rev-list -n 1 HEAD -- . + $ git show f000 path/to/file + $ git diff --name-status f000 path/to/file + </pre> + + <p>Undo a file to specific commit</p> + + <pre> + $ git checkout f000^ -- path/to/file + </pre> + + <a href="index.html">Dev Index</a> + <p>This is part of the SysDoc Manual. + Copyright (C) 2016 + Silvino Silva. + See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a> + for copying conditions.</p> + + +</body> +</html> diff --git a/dev/index.html b/dev/index.html new file mode 100644 index 0000000..20e2c22 --- /dev/null +++ b/dev/index.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> +<html dir="ltr" lang="en"> + <head> + <meta charset='utf-8'> + <title>Development</title> + </head> + <body> + + <a href="../index.html">Documentation Index</a> + <h1>Development</h1> + + <p>Tools for development and debugging</p> + + <h2 id="scr">Source Code Revision</h2> + + <ul> + <li><a href="git.html">Git</a> + <ul> + <li><a href="git.html#teamwork">Team workflow</a></li> + <li><a href="git.html#feature">Feature</a></li> + <li><a href="git.html#release">Release</a></li> + <li><a href="git.html#hotfix">Hotfix</a></li> + <li><a href="git.html#tags">Tags</a></li> + <li><a href="git.html#local">Local</a></li> + </ul> + </li> + </ul> + + <h2 id="c">C</h2> + + <ul> + <li><a href="http://inti.sourceforge.net/tutorial/libinti/autotoolsproject.html">Autotools</a></li> + <li><a href="gdbc.html">GDB</a></li> + </ul> + + <h2>Shell Script</h2> + <h3 id="bash">Dash</h3> + + <ul> + <li>Dash</li> + </ul> + + + <h3 id="bash">Bash</h3> + + <ul> + <li>Bash</li> + </ul> + + <h2>Python</h2> + <ul> + <li>Python</li> + </ul> + + <h2>Perl</h2> + <ul> + <li>Perl</li> + </ul> + + <h2>JavaScript</h2> + <ul> + <li>JavaScript</li> + </ul> + + <h2>PHP</h2> + + <ul> + <li>PHP</li> + </ul> + + <ul> + <li>PHP Unit</li> + </ul> + + <a href="../index.html">Documentation Index</a> + <p> + This is part of the c9-doc Manual. + Copyright (C) 2016 + c9 team. + See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a> + for copying conditions.</p> + + + </body> + +</html> |