O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Git Heaven with Wakanda

1.608 visualizações

Publicada em

Git is the new gold standard when it comes to versioning in the Web age. Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Version control should always be used when doing software development and most open source projects use version control and there is no exception for Wakanda applications.

In this session we give an introduction to Git, we explain how to use it with Wakanda, the process of creating and cloning repositories, as well as working with branches in a distributed team environment, and finally dealing with merging source code with your team members.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Git Heaven with Wakanda

  1. 1. Git Heaven with Wakanda Juergen Fesslmeier Wakanda Product Manager @chinshr
  2. 2. About Git
  3. 3. Linus Torvalds http://bit.ly/linusongit
  4. 4. “Im an egotistical bastard,and I name all my projects after myself. First Linux, now git’.” Linux Torvalds on Git naming
  5. 5. Projects using Git• Git • Rails• Linux • Android• Perl • PostgreSQL• Eclipse • KDE• Qt • Gnome• Wakanda
  6. 6. What is Git?
  7. 7. Git is an open source, distributed version control system designed for speed and efficiency.
  8. 8. git-scm.com
  9. 9. Open source: git-scm.com
  10. 10. History ofVersioning
  11. 11. Local File System
  12. 12. Local Version Control System
  13. 13. Centralized Version Control
  14. 14. Distributed Version Control
  15. 15. Distributed Version Control System
  16. 16. Everything is local (almost)
  17. 17. No Network required• Create repo • Status• Commit • Revisions• Merge • Diff• Branch • History• Rebase • Bisect• Tag • Local sync
  18. 18. Advantages• Everything is fast• Everything is transparent• Every clone is a backup• You can work offline
  19. 19. Designed for Speed and Efficiency
  20. 20. Snapshots, not Patches
  21. 21. Delta vs. Snapshot
  22. 22. How is it differentfrom cvs, svn, etc.?
  23. 23. Storage vs. Distributed
  24. 24. How do I use Git?
  25. 25. How to Install GitInstallers for Windows, Max, Linuxhttp://git-scm.comHomebrew on Mac$ brew install gitApt on Linux$ apt-get install git
  26. 26. Before you startConfigure Git$ git config --global user.name"Juergen Fesslmeier"$ git config --global user.email”j@4d.com"
  27. 27. New ProjectCreate and initialize the Git Directory (.git)$ mkdir project$ cd project$ touch wakanda.js$ git init
  28. 28. Existing ProjectCreate and pull down remote repositories.$ git clonegit://github.com/Wakanda/WAF.git
  29. 29. .gitignoreSpecify files which will be ignored by Git$ cat .gitignore.DS_Storedata/temporary files/Logs/Build*.breakpoints
  30. 30. Git staging and status$ git status# On branch master## Initial commit## Untracked files:# (use "git add <file>..." to include in what willbe committed)## wakanda.jsnothing added to commit but untracked files present(use "git add" to track)
  31. 31. StagingStage files to the index.$ git add .
  32. 32. CommittingCreate a commit tagged with a message.$ git commit -m "first commit"
  33. 33. Remotes
  34. 34. Remote == URLProtocols Examplessh:// git@github.com:Wakanda/WAF.githttp[s]:// https://github.com/Wakanda/WAF.g itgit:// git://github.com/Wakanda/WAF.gitfile://rsync://ftp://
  35. 35. Create a remote repositoryCreate a commit tagged with a message.•On your own server•github.com•bitbucket.org•beanstalkapp.com•Many more…
  36. 36. Adding remoteConnect your local with a remoterepository is called “adding remote”$ git add remotegit@github.com:chinshr/project.git
  37. 37. Project config file$ cat .git/config[remote "origin"] url =git@github.com:chinshr/project.git fetch =+refs/heads/*:refs/remotes/origin/*
  38. 38. Adding remoteConnect your local with a remote repo$ git push -u origin masterCounting objects: 5, done.Delta compression using up to 8 threads.Compressing objects: 100% (2/2), done.Writing objects: 100% (5/5), 384 bytes,done.Total 5 (delta 0), reused 0 (delta 0)To git@github.com:chinshr/project.git * [new branch] master -> master