  Szenario: Programmier Projekt mit
mehreren Beteiligten wird bearbeitet.Alle
sollen
◦  die aktuelleVersion des Programms...
  Gemeinsame Arbeit
am Rechner ?
  Verteilen per Mail
oder USB Stick ?
  Unübersichtlich
◦  Durcheinander vonVersionen
◦  ÄltereVersionen gehen verloren
◦  Dokumentation geht verloren
  Nur eine aktuellsteVersion
◦  Gleichzeitiges Bearbeiten eines Teilstücks
schwierig
◦  Erhöhte Komplexität, wenn mehrere...
  Daten Lokal gespeichert
◦  Datenverlust auf dem Rechner bedeutet auch
Verlust des Programms
  Versionierung
◦  Alle altenVersionen vorhanden
◦  Änderungen sichtbar/kommentiert
  Parallele Entwicklung wird unterst...
  Entstehung 2005
  Entwickelt von Linus Torvalds
  Opensource Alternative zu damals verfügbarer
Software
  Einsatz: E...
  Github
  Atlassian
  Community
git config --global user.name “John Smith“
git config --global user.email john@example.com
git config --global alias.<alia...
cd good-project
git init
git add --all
git commit –m “good first comment“
git remote add origin <somePage>
git push origin...
git clone <Repo>
git pull
# Some Work
git status
git diff
git add .
git commit –m “Important
Things“
git push
  git zurücksetzen
◦  rm –r .git
  Alle lokalen Änderungen verwerfen
◦  git reset --hard
◦  git clean -f
  Letzten commit rückgängig machen
◦  git revert HEAD
  Letzte Änderung an einem File rückgängig
machen
◦  git checkout ...
  File nicht mehr
tracken
◦  .gitignore file
◦  git rm --cached “...“
  Branch erstellen
◦  git branch <myBranch>
  Branch löschen
◦  git branch –d <myBranch>
  Zu Branch wechseln
◦  git ch...
  branches are just pointers to commits
◦  When you create a branch, all Git needs to do is
create a new pointer—it doesn...
  Whereas merges in SVN are done on a
file-basis, Git lets you work on the more
abstract level of commits.
  You can act...
# Start a new feature
git checkout -b new-feature master
# Edit some files
git add <file>
git commit -m "Start a feature“
...
# Start a new feature
git checkout -b new-feature master
# Edit some files
git add <file>
git commit -m "Start a feature“
...
# Develop the master branch
git checkout master
# Edit some files
git add <file>
git commit -m "Make some super-stable
cha...
  Studenten Account auf Github:
◦  https://education.github.com
  git Tutorials
◦  http://try.github.io
◦  https://guide...
Version management mit Git und Github
Version management mit Git und Github
Version management mit Git und Github
Version management mit Git und Github
Version management mit Git und Github
Upcoming SlideShare
Loading in …5
×

Version management mit Git und Github

428 views

Published on

fg.workshop vom 03.04.2014
http://fg-informatik.unibas.ch/wiki/index.php/FG-Workshop

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
428
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Version management mit Git und Github

  1. 1.   Szenario: Programmier Projekt mit mehreren Beteiligten wird bearbeitet.Alle sollen ◦  die aktuelleVersion des Programms haben ◦  über Neuerungen informiert werden BestesVorgehen?
  2. 2.   Gemeinsame Arbeit am Rechner ?   Verteilen per Mail oder USB Stick ?
  3. 3.   Unübersichtlich ◦  Durcheinander vonVersionen ◦  ÄltereVersionen gehen verloren ◦  Dokumentation geht verloren
  4. 4.   Nur eine aktuellsteVersion ◦  Gleichzeitiges Bearbeiten eines Teilstücks schwierig ◦  Erhöhte Komplexität, wenn mehrere Personen an verschiedenen Files arbeiten
  5. 5.   Daten Lokal gespeichert ◦  Datenverlust auf dem Rechner bedeutet auch Verlust des Programms
  6. 6.   Versionierung ◦  Alle altenVersionen vorhanden ◦  Änderungen sichtbar/kommentiert   Parallele Entwicklung wird unterstützt ◦  Branching/Merging   Zentrale Ablage ◦  Für alle erreichbar ◦  Absturz des eigenen Rechners verkraftbar
  7. 7.   Entstehung 2005   Entwickelt von Linus Torvalds   Opensource Alternative zu damals verfügbarer Software   Einsatz: Entwicklung des Linux Kernels
  8. 8.   Github   Atlassian   Community
  9. 9. git config --global user.name “John Smith“ git config --global user.email john@example.com git config --global alias.<alias-name> <git-command> git config --system core.editor <editor> git config --global --list
  10. 10. cd good-project git init git add --all git commit –m “good first comment“ git remote add origin <somePage> git push origin master
  11. 11. git clone <Repo>
  12. 12. git pull # Some Work git status git diff git add . git commit –m “Important Things“ git push
  13. 13.   git zurücksetzen ◦  rm –r .git   Alle lokalen Änderungen verwerfen ◦  git reset --hard ◦  git clean -f
  14. 14.   Letzten commit rückgängig machen ◦  git revert HEAD   Letzte Änderung an einem File rückgängig machen ◦  git checkout <theFile>   Commit nachträglich bearbeiten ◦  git add <someFile> ◦  git commit –amend
  15. 15.   File nicht mehr tracken ◦  .gitignore file ◦  git rm --cached “...“
  16. 16.   Branch erstellen ◦  git branch <myBranch>   Branch löschen ◦  git branch –d <myBranch>   Zu Branch wechseln ◦  git checkout <myBranch>   Branches anzeigen ◦  git branch
  17. 17.   branches are just pointers to commits ◦  When you create a branch, all Git needs to do is create a new pointer—it doesn’t change the repository in any other way. ◦  This has a dramatic impact on Git's merging model.
  18. 18.   Whereas merges in SVN are done on a file-basis, Git lets you work on the more abstract level of commits.   You can actually see merges in the project history as a joining of two independent commit histories.
  19. 19. # Start a new feature git checkout -b new-feature master # Edit some files git add <file> git commit -m "Start a feature“ # Edit some files git add <file> git commit -m "Finish a feature“ # Merge in the new-feature branch git checkout master git merge new-feature git branch -d new-feature
  20. 20. # Start a new feature git checkout -b new-feature master # Edit some files git add <file> git commit -m "Start a feature“ # Edit some files git add <file> git commit -m "Finish a feature“
  21. 21. # Develop the master branch git checkout master # Edit some files git add <file> git commit -m "Make some super-stable changes to master“ # Merge in the new-feature branch git merge new-feature git branch -d new-feature
  22. 22.   Studenten Account auf Github: ◦  https://education.github.com   git Tutorials ◦  http://try.github.io ◦  https://guides.github.com ◦  https://www.atlassian.com/git   git Docu ◦  http://git-scm.com/documentation   git Sourcecode ◦  git clone https://github.com/git/git

×