Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git Basiswissen

Git Basiswissen

Präsentation zum Stämpfli AG Hackday vom 14. Januar 2016

Marcel Hauri

January 14, 2016
Tweet

More Decks by Marcel Hauri

Other Decks in Programming

Transcript

  1. Was ist Git Git ist ein verteiltes Versionsverwaltungssystem. ! !

    Eine Versionsverwaltung ist ein System, das zur Erfassung von 
 Änderungen an Dokumenten oder Dateien verwendet wird
  2. Was ist Git Git ist ein verteiltes Versionsverwaltungssystem. ! !

    Die verteilte Versionsverwaltung (DVCS, distributed VCS) verwendet kein zentrales Repository mehr. ! Jeder, der an dem verwalteten Projekt arbeitet, hat sein eigenes Repository und kann dieses mit jedem beliebigen anderen Repository abgleichen.
  3. Was ist Git Git ist ein verteiltes Versionsverwaltungssystem. ! !

    Obwohl konzeptionell nicht unbedingt notwendig, existiert in verteilten Versionsverwaltungsszenarien üblicherweise ein offizielles Repository ! ! !
  4. git status git status On branch master ! Initial commit

    ! nothing to commit (create/copy files and use "git add" to track) Änderungen am Repository nachverfolgen
  5. git status git status On branch master ! Initial commit

    ! Untracked files: (use "git add <file>..." to include in what will be committed) ! staempfli.txt ! nothing added to commit but untracked files present (use "git add" to track) Änderungen am Repository nachverfolgen
  6. git status git status On branch master ! Initial commit

    ! Changes to be committed: (use "git rm --cached <file>..." to unstage) ! new file: staempfli.txt ! Änderungen am Repository nachverfolgen
  7. git commit git commit -m "Add staempfli file" [master (root-commit)

    7e8c0ed] Add staempfli file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 staempfli.txt Änderungen im Repository speichern
  8. git log git log commit 7e8c0edcedf4ecd8e92788c408d1aadb2f5d9a23 Author: Marcel Hauri <[email protected]>

    Date: Wed Jan 13 15:38:55 2016 +0100 ! Add staempfli file Commits anzeigen
  9. git diff git diff diff --git a/staempfli.txt b/staempfli.txt index e69de29..ee427ef

    100644 --- a/staempfli.txt +++ b/staempfli.txt @@ -0,0 +1 @@ +Hallo das ist ein Test Differenz anzeigen (+ hinzugefügt / - gelöscht)
  10. git status git status On branch master Changes not staged

    for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) ! modified: staempfli.txt ! no changes added to commit (use "git add" and/or "git commit -a") Änderungen am Repository nachverfolgen
  11. git status git status On branch master Changes to be

    committed: (use "git reset HEAD <file>..." to unstage) ! modified: staempfli.txt Änderungen am Repository nachverfolgen
  12. git commit git commit -m "Add some nice text" [master

    134869a] Add some nice text 1 file changed, 1 insertion(+) Änderungen im Repository speichern
  13. git log git log commit b0e5f6e9a69eeb1766fc4545745ec57f038dba85 Author: Marcel Hauri <[email protected]>

    Date: Wed Jan 13 15:58:41 2016 +0100 ! Add some nice text ! commit 7e8c0edcedf4ecd8e92788c408d1aadb2f5d9a23 Author: Marcel Hauri <[email protected]> Date: Wed Jan 13 15:38:55 2016 +0100 ! Add staempfli file Commits anzeigen
  14. git status git status On branch develop Changes to be

    committed: (use "git reset HEAD <file>..." to unstage) ! new file: staempfli-internet.txt Änderungen am Repository nachverfolgen
  15. git commit git commit -m "Add stamempfli internet" develop 3294860]

    Add stamempfli internet 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 staempfli-internet.txt Änderungen im Repository speichern
  16. git merge git merge develop Updating b0e5f6e..3294860 Fast-forward staempfli-internet.txt |

    0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 staempfli-internet.txt Zweige zusammenführen
  17. git log --oneline git log —oneline 3294860 Add stamempfli internet

    b0e5f6e Add some nice text 7e8c0ed Add staempfli file Commits anzeigen
  18. git fetch git fetch Änderungen aus Remote Repositories zusammenführen warning:

    no common commits remote: Zähle Objekte: 10, Fertig. remote: Komprimiere Objekte: 100% (7/7), Fertig. remote: Total 10 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (10/10), done. From ssh://your.server.com:7999/hackday/git-basics
  19. git pull git pull Repository mit den neuesten Änderungen zu

    aktualisieren There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details ! git pull <remote> <branch> ! If you wish to set tracking information for this branch you can do so with: ! git branch --set-upstream-to=origin/<branch> master
  20. git pull origin master Repository mit den neuesten Änderungen abgleichen

    Merge branch 'master' of ssh://your.server.com:7999/hackday/git-basics ! # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
  21. git pull origin master git pull origin master Repository mit

    den neuesten Änderungen abgleichen From ssh://your.server.com:7999/hackday/git-basics * branch master -> FETCH_HEAD Merge made by the 'recursive' strategy. README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md
  22. git log --oneline git log —oneline 0f22ed6 Merge branch 'master'

    of ssh://your.server.com:7999/hackday/git-basics 3294860 Add stamempfli internet 134869a Add some nice text 7e8c0ed Add staempfli file 15c2a09 update README 5960440 update README 3b05fd9 add README Commits anzeigen
  23. git push origin master git push origin master Externes Repository

    aktualisieren Counting objects: 5, done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 279 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: remote: Create pull request for master: remote: https://your.server.com/projects/HACKDAY/repos/git-basics/compare/commits?sourceBranch= master remote: To ssh://[email protected]:7999/hackday/git-basics.git 15c2a09..b41b45a master -> master