Top Banner
Ignorieren versionierter Dateien in Git © Stephan Partzsch, 2015 1
20

Ignorieren versionierter Dateien in Git

Jul 21, 2015

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ignorieren versionierter Dateien in Git

Ignorierenversionierter!Dateien

in#Git

©"Stephan"Partzsch,"2015 1

Page 2: Ignorieren versionierter Dateien in Git

Ignorieren(neuer(Dateien

• .gitignore"System"für"generellen"Ausschluss"neuer"Dateien

• Automa7sch"generierte"Log9Dateien"oder"Build9Dateien

• .gitignore"funk7oniert"nicht"bei"versionierten"Dateien

©"Stephan"Partzsch,"2015 2

Page 3: Ignorieren versionierter Dateien in Git

Ignorieren(versionierter(Dateien!!assume!unchanged

• Gedacht)um)ineffiziente)Dateisysteme)zu)entlasten

• Einstellung)wird)in)einigen)Fällen)überschrieben

• git reset --hard

• Pull)neuerer)Version)aus)dem)Remote@Repository)

©"Stephan"Partzsch,"2015 3

Page 4: Ignorieren versionierter Dateien in Git

Ignorieren(versionierter(Dateien!!assume!unchanged

• Gedacht)um)ineffiziente)Dateisysteme)zu)entlasten

• Einstellung)wird)in)einigen)Fällen)überschrieben

• git reset --hard

• Pull)neuerer)Version)aus)dem)Remote@Repository)

©"Stephan"Partzsch,"2015 4

Page 5: Ignorieren versionierter Dateien in Git

Neuer%Versuch!

©"Stephan"Partzsch,"2015 5

Page 6: Ignorieren versionierter Dateien in Git

Ignorieren(versionierter(Dateien!!skip!worktree

• Normale)Git-Rou0nen)bleiben)erhalten

• Ignoriert)bewusst)Änderungen)im)Worktree

• Einstellung)wird)nicht)überschrieben!!!

©"Stephan"Partzsch,"2015 6

Page 7: Ignorieren versionierter Dateien in Git

Ignorieren(versionierter(Dateien!!skip!worktree

• !Stashen*der*Dateien*klappt*nicht,*wenn*Einstellung*ak8v*ist!

• Einstellung*für*betroffene*Dateien*müssen*vorher*manuell*deak8viert*werden

©"Stephan"Partzsch,"2015 7

Page 8: Ignorieren versionierter Dateien in Git

Anwendung©"Stephan"Partzsch,"2015 8

Page 9: Ignorieren versionierter Dateien in Git

Versionierte)Datei)ignorieren

git update-index --skip-worktree <file>

©"Stephan"Partzsch,"2015 9

Page 10: Ignorieren versionierter Dateien in Git

Versionierte)Datei)wieder&berücksich-gen

git update-index --no-skip-worktreegits <file>

©"Stephan"Partzsch,"2015 10

Page 11: Ignorieren versionierter Dateien in Git

Ignorierte)Dateien)finden

git ls-files -v | grep ^[sS]

©"Stephan"Partzsch,"2015 11

Page 12: Ignorieren versionierter Dateien in Git

Manko©"Stephan"Partzsch,"2015 12

Page 13: Ignorieren versionierter Dateien in Git

Kollabora'on• Einstellungen+sind+nur+lokal

• Jeder+muss+die+Commands+selbst+ausführen

• Lösung:"Script,"das"alle"Commands"ausführt

• Script"wird"nach"erstem"Checkout"gestartet"

©"Stephan"Partzsch,"2015 13

Page 14: Ignorieren versionierter Dateien in Git

Beispiel©"Stephan"Partzsch,"2015 14

Page 15: Ignorieren versionierter Dateien in Git

Beispiel'–'Git$Repository$anlegen

// Create git repository$ mkdir git-test$ cd git-test$ git initInitialized empty Git repository in …

©"Stephan"Partzsch,"2015 15

Page 16: Ignorieren versionierter Dateien in Git

Beispiel'–'Datei&zum&Repository&hinzufügen

$ echo ‘Hello World’ > file01.txt$ git add file01.txt$ git commit -m ‘Adds a new file.’[master (root-commit) a6053cf] Adds a new file. 1 file changed, 1 insertion(+) create mode 100644 file01.txt

©"Stephan"Partzsch,"2015 16

Page 17: Ignorieren versionierter Dateien in Git

Beispiel'–'Datei&verändern$ echo ‘here are some changes’ >> file01.txt$ git statusOn branch masterChanges 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: file01.txt

no changes added to commit (use “git add” and/or “git commit -a”)

©"Stephan"Partzsch,"2015 17

Page 18: Ignorieren versionierter Dateien in Git

Beispiel'–'Datei&ignorieren

$ git update-index --skip-worktree file01.txt$ git statusOn branch masternothing to commit, working directory clean

©"Stephan"Partzsch,"2015 18

Page 19: Ignorieren versionierter Dateien in Git

Beispiel'–'Datei&wieder&berücksich0gen$ git update-index --no-skip-worktree file01.txt$ git statusOn branch masterChanges 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: file01.txt

no changes added to commit (use “git add” and/or “git commit -a”)

©"Stephan"Partzsch,"2015 19

Page 20: Ignorieren versionierter Dateien in Git

English!blog!post

h"p://blog.stephan0partzsch.de/how0to0ignore0changes0in0tracked0files0with0git

@StephanPartzsch

©"Stephan"Partzsch,"2015 20