Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git workshop

1,140 views

Published on

Introduction to git SCM, git flow workflow and some best practices.

Published in: Technology
  • Be the first to comment

Git workshop

  1. 1. GIT Workshop by @AlSayedGamal
  2. 2. AGENDA • Introduction • getting started • git workflow • Tips and tricks • social coding (github)
  3. 3. INTRODUCTION • What’s git and what’s VCS? • git history
  4. 4. Sayevt ya Ali SH*T HAPPENS If it’s not power outage it’s disk failure os failure,etc..
  5. 5. WHAT ABOUT VCS THAT HANDLES LINUX ? The development of Git began on 3 April 2005. The project was announced on 6 April, and became self-hosting as of 7 April.
  6. 6. GIT CHARACTERISTICS • Strong support for non-linear development • Distributed development • Compatibility with existing systems/ protocols • Efficient handling of large projects • Cryptographic authentication of history • Pluggable merge strategies • Toolkit-based design(C & Shell)
  7. 7. HOW GIT STORES DATA • git has three main types • blob (binary large object) • tree (basically tree of blobs) • graph (directed graph of commits)
  8. 8. INSTALLING GIT • On centos you will always have dependancies resolved. • On ubuntu package name is git >= 12.04 • For mac I use homebrew however ports and fink should work the same. • On windows give linux a chance or try cygwin it may be installed else go for msysGit >= 1.7.10 redhat yum install git debian apt-get install git mac brew install git windows use linux or install cygwin or msysGit
  9. 9. GETTING STARTED • Git the command line • New repo • New file • Basic config • First commit • View difference • Remove and rename files • Copy your repo
  10. 10. BRANCHING AND MERGING • git branch <branch name> • git checkout -b <branch name> • git checkout <branch name> • git merge <other branch>
  11. 11. GIT FLOW BRANCHING git flow command line tool will help you structure your app.
  12. 12. TIPS AND TRICKS These tips will be used almost in every project.
  13. 13. IGNORE .gitignore files that shouldn’t be tracked. Like .pyc files
  14. 14. BLAME git blame to know who is responsible of this change. Try sublime (and your favourite IDE) blame integration.
  15. 15. ./manage.py test # if all pass git push origin develop TEST > PUSH Before pushing make sure that you pass test django hint: in .bachrc alias gpush to ./manage.py test & git push origin develop
  16. 16. STASH AND CLEAN • git stash will clean your stage to the most recent commit. • git stash apply to bring your mess again. • Clean untracked files: • git clean -d <path>
  17. 17. TAG • git tag -a v1.0.0 -m "Creating the first release candidate” • git show v1.0.0
  18. 18. GITHUB • Normal Commercial membership. • Star, watch and follow. • pulse.
  19. 19. REFERENCES • gitready.com • git-scm.com • Book: version control with git 2nd edition - O’Reilly. • wikipedia | en.wikipedia.org/wiki/Git_(software) • github.com
  20. 20. QUESTIONS ?
  21. 21. GIT COMMIT -M “THANK YOU”

×