Git/Dla autorów

Z Wikibooks, biblioteki wolnych podręczników.

< Git

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.

[1] [2]

[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

http://www.linux-mag.com/cache/7314/1.html Wywiad z Linusem, wspomniany Git

http://www.pragprog.com/titles/tsgit/pragmatic-version-control-using-git Git book

[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 błę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