2017-06-06 1 views
2

Aktueller Status: Ich verwende git diff-tree -r HASH, um alle hinzugefügten, geänderten und gelöschten Dateien in einem bestimmten Commit aufzulisten. Dies hat bis heute funktioniert.Wie listet man alle Dateien auf, die zum ersten Commit eines GIT-Repositorys hinzugefügt wurden?

Das Problem: Ich möchte alle hinzugefügten Dateien in meinem ersten aufzulisten begehen, aber die erste HASH vorbei als ein Parameter funktioniert nicht. Warum?

Hauptfrage: Wie kann ich die Liste aller Dateien erhalten, die bei meinem ersten Commit hinzugefügt wurden?

Antwort

1

für mich Dies funktioniert

git show <commit|branch-name> --name-only 
1

git show --pretty=format: --name-only <revision>

1

Für die erste begehen, wenn Sie auf git diff-tree -r HASH bestehen, eine weitere Parameter benötigt wird, 4b825dc642cb6eb9a060e54bf8d69288fbee4904.

4b825dc642cb6eb9a060e54bf8d69288fbee4904 ist ein leerer Baum. Um dieses spezielle Baumobjekt zu machen:

#inside your repo 
git rm -r * 
git write-tree 
git reset HEAD --hard 

Oder eine zuverlässigere Art und Weise:

#inside your repo 
git init temp 
cd temp 
git commit --allow-empty -m 'empty tree' 
cd .. 
git fetch temp/ master 
rm -rf temp 

Jetzt git diff-tree -r HASH 4b825dc642cb6eb9a060e54bf8d69288fbee4904 funktioniert.

Sie können dieses Baumobjekt für die zukünftige einfache Verwendung markieren und in andere Repos verschieben.

git tag void 4b825dc642cb6eb9a060e54bf8d69288fbee4904 
git diff-tree -r HASH void 
git push <remote> void 
+1

Sie müssen nicht den leeren Baum erstellen: es ist immer da. Verwenden Sie 'git hash-object -t tree', um seinen Hash zu finden, wenn Sie die magische Zahl nicht fest codieren wollen; siehe https://stackoverflow.com/q/9765453/1256452. – torek

+0

@torek groß. Vielen Dank! – ElpieKay

Verwandte Themen