Git/Dla autorów
Z Wikibooks, biblioteki wolnych podręczników.
http://www.stardust.webpages.pl/ltg/ Po polsku rozdział o Git
Spis treści |
[edytuj] Śledzenie zmian nazw katalogów
Git nie śledzi zmian nazw katalogów. Jeśli edytujesz istniejący plik, zmiany będą scalone kiedy scalisz razem ze zmianą nazwy.
Ale jeśli dodajesz nowy plik i nazwa katalogu została zmieniona, plik będzie zachowany w katalogu o starej nazwie.
[edytuj] git.or.cz
http://git.or.cz/gitwiki/QuickStart
http://git.or.cz/gitwiki/GitFaq
http://git.or.cz/gitwiki/GitTips
http://git.or.cz/gitwiki/GitBenchmarks Porównanie szybkości git, hg oraz bzr
http://git.or.cz/gitwiki/GitLinks Linki do różnych artykułów o gicie
http://git.or.cz/gitwiki/GitSurvey2008 Ankieta dotycząca używania Gita
[edytuj] kernel.org
http://www.kernel.org/pub/software/scm/git/docs/
http://www.kernel.org/pub/software/scm/git/docs/tutorial.html
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
http://www.kernel.org/pub/software/scm/git/docs/core-tutorial.html
http://www.kernel.org/pub/software/scm/git/docs/everyday.html
http://www.kernel.org/pub/software/scm/git/docs/cvs-migration.html Pomocne polecenie przy przejściu z cvs do git
http://www.kernel.org/pub/software/scm/git/docs/howto-index.html
http://www.kernel.org/pub/software/scm/git/docs/howto/revert-branch-rebase.html
http://git.kernel.org/?p=git/git.git;a=blob;f=Documentation/tutorial.txt
[edytuj] GUI
http://developer.imendio.com/projects/giggle
[edytuj] Pozostałe
http://kerneltrap.org/files/Jeremy/README
http://lwn.net/Articles/134222/ Szybka ściągawka komend gita
http://thread.gmane.org/gmane.comp.version-control.git/31625
http://www.adeal.eu/starting-with-git.php
http://wiki.sourcemage.org/Git_Guide
http://linux.yyz.us/git-howto.html#branches
http://www.itp.tuwien.ac.at/~mattems/blog/2006/07/03
http://repo.or.cz/ Publiczny hosting git
http://www.kdedevelopers.org/node/2724 Git i haki (hooks)
http://wiki.winehq.org/HackingTips Na dole porównanie różnych systemów kontroli kodu
http://www.kerrighed.org/docs/KerrighedSummit07/JP-Using_Git.pdf Porównanie użycia svn i git
http://wiki.services.openoffice.org/wiki/Git#Comparison Porównanie cvs, svn i git
Porównanie darcs, git, hg, bzr
http://wincent.com/knowledge-base/Git_quickstart
http://wincent.com/knowledge-base/Git_cookbook
http://wincent.com/knowledge-base/Git_recipes
http://www-cs-students.stanford.edu/~blynn/gitmagic/
http://polywww.in2p3.fr/~gaycken/Calice/Software/my_git_workflow.html
http://jonas.nitro.dk/git/quick-reference.html
http://www.chem.helsinki.fi/~jonas/git_guides/ Git in a Nutshell for Normal People
http://download.ikaaro.org/doc/git/index.html Introduction to git by Juan David Ibáñez Palomar
http://jbowes.dangerouslyinc.com/2006/12/19/my-gitconfig/
http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html
http://www.youtube.com/watch?v=4XpnKHJAok8
http://cworth.org/hgbook-git/tour/ całkiem dobry, porusza ciekawe kwestie
http://info.wsisiz.edu.pl/~blizinsk/git-bzr.html
http://www.spheredev.org/wiki/Git_for_the_lazy
http://jonas.iki.fi/git_guides/HTML/git_guide/
http://blog.flameeyes.eu/2008/09/30/running-git-daemon-under-an-unprivileged-user uruchamianie demona git jako zwykły użytkownik
[edytuj] Do rozwnięcia
Koncepcja gita, że śledzi pliki i ich zawartość, a nie katalogi. Jakie to ma konsekwencje?
Mamy taki przykład: jeden programista zmienia nazwę katalogu w swojej gałęzi, a inny dodaje plik do oryginalnego katalogu w swojej gałęzi. Co się stanie przy scalaniu? - Bazaar zmienia nazwę katalogu i umieszcza nowy plik w katalogu o _zmienionej_ nazwie. - Git zmienia nazwę katalogu z plikami, ale zostawia także stary katalog i dodaje do niego nowy plik.
Zachowanie Bazaara jest na pewno lepsze dla programów pisanych w C. Jakkolwiek nie jest zawsze lepsze.
Na przykład w Javie nie możesz zmienić nazwy pliku bez zmieniania jego zawartości. Tak więc przenoszenie pliku do katalogu innego od tego, do którego umieścił autor, prawie napewno zepsuje etap kompilacji.
Rezultat jest taki, że obydwa zachowania wydają się właściwe lub głędne, w zależności od sytuacji. Nic nie jest idealne. Na bardzo abstrakcyjnym poziomie zmiany nazw plików nie są operacjami wyższego priorytetu. To jest szczególnie widoczne w języku takim jak Java.
Przemieszczanie się zawartości jest operacją wyższego priorytetu. Sytuacje jak przemieszczanie się funkcji, itp. Pytanie jest, jak można obsługiwać to i czy aktualna strategia ma możliwość ulepszenia. Można argumentować, że kiedy zaczniesz jawnie śledzić zmiany nazw plików, pozbawiasz się możliwości obsługi bardziej ogólnych przypadków.
Jedno jest pewne, 100% idealne rozwiązanie jest niemożliwe. Musi być nastawione na docelowy język programowania i środowisko kompilacji.
http://jan-krueger.net/development/git-cheat-sheet-extended-edition

