Pro Git 2.2 Zklady Gitu Zaznamenávání zmn do repozitáře Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol" href="http://bigboobsidol.com/feed//th/rosalba/archive/2008/02.aspx" /> Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol Pro Git -<img src="http://fuckpicsfree.com/big_phallus/45big_phallus102200619/big_phallus_08.jpg"/> Pro Gi<img src="http://www.missnumerique.com/images/produits/big/big_declencheur_flash_3_556.jpg"/>t <img src="http://www.sankakucomplex.com/wp-content/gallery/thong-miniskirt-idol-gallery/mini-skirt-thong-t-back-idol-29.jpg"/>2.2 Z<img src="http://www.sankakucomplex.com/wp-content/gallery/big-breasted-idol-gallery/big-breasted-idol-013.jpg"/>klady Git<img src="http://www.divinebreasts.com/bigtits/images/episode3/large.jpg?LS=c15LEeK7gyVOidmCDgIEvnW2c8Nm0CuAbaxIBl40NAYxN-q7kJt6kofyCIdc6Iza-YUJCHowZdb7"/>u Zaznamenávání zm<img src="http://mobius.com.ua/foto_fotos_big/Pentax-K-m-big.jpg"/>n do repozitáře Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol v

Idol Idol Boogs

Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol Pro Git - Pro Git 2.2 Zklady Gitu Zaznamenávání zmn do repozitáře Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol

Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol

Řekněme, že přidáte nový soubor do vašeho projektu, třeba jednoduché README. Pokud ten soubor dosud neexistoval a vy pustíte git status, uvidíte soubor ve stavu untracked:

$ vim README
$ git status
# On branch master
# Untracked files:
#  (use "git add <file>..." to include in what will be committed)
#
#	README
nothing added to commit but untracked files present (use "git add" to track)

Je vidět, že vaše README je untracked, protože je pod nadpisem “Untracked files” ve výpisu stavu. To jednoduše znamená, že tento soubor Git dosud nespravoval, a také ho spravovat nebude, dokud mu to explicitně neřeknete. Dělá to proto, aby nezačal náhodou zběsile spravovat vygenerované binární soubory nebo jiné, třeba dočasné soubory, které určitě do projektu zahrnout nechcete. Toto README však chcete spravovat, nuže pojďme si ukázat, jak na to.

Spravování nových souborů

K započetí spravování nových souborů použijeme příkaz git add. Konkrétně v tomto případě, abychom přidali soubor README, spustíme toto:

$ git add README

Pokud si nyní znovu zkontrolujeme stav příkazem git status, můžeme vidět, že naše README je nyní tracked a staged:

$ git status
# On branch master
# Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#	new file:  README
#

Staged je proto, že je pod nadpisem “Changes to be committed”. Pokud uděláte commit v tuto chvíli, bude verze souboru ve chvíli, kdy jste udělali git add, vložena do snímku a uložena. Můžete si také vzpomenout, že když jste dříve pouštěli git init, museli jste pak pustit i git add – to byl počátek správy souborů ve vašem adresáři. Příkaz git add přebírá cestu buďto k souboru nebo k adresáři; pokud je to adresář, uloží příkaz všechny soubory v onom adresáři. Rekurzivně.

 Vkládání upravených souborů do indexu

Nyní změníme soubor, který už spravujeme. Když změníte spravovaný soubor, pro příklad nechť se jmenuje benchmarks.rb, a pak pustíte git status znovu, dostanete něco, co bude vypadat zhruba takto:

$ git status
# On branch master
# Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#	new file:  README
#
# Changed but not updated:
#  (use "git add <file>..." to update what will be committed)
#
#	modified:  benchmarks.rb
#

Soubor benchmarks.rb se objevil v sekci nazvané “Changed but not updated” – to znamená, že soubor, který je spravován, byl upraven v pracovním adresáři, ale ještě nebyl vložen do indexu. K vložení do indexu použijeme příkaz git add (má mnoho funkcí – je používán k započetí správy nových souborů, ke vkládání do indexu a i k jiným operacím, např. k označování souborů postižených merge-conflictem jako vyřešených). Vložme tedy benchmarks.rb do indexu a pak si znovu zobrazme status:

$ git add benchmarks.rb
$ git status
# On branch master
# Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#	new file:  README
#	modified:  benchmarks.rb
#

Oba soubory jsou v indexu a půjdou do nejbližšího commitu. V tuto chvíli jste si ale uvědomili, že v souboru benchmarks.rb je potřeba udělat ještě jednu malou změnu, než ho uložíte do commitu. Otevřete ho tedy znovu, uložíte a jste připraveni vytvořit commit. Tak se ještě jednou podíváme na status:

$ vim benchmarks.rb 
$ git status
# On branch master
# Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#	new file:  README
#	modified:  benchmarks.rb
#
# Changed but not updated:
#  (use "git add <file>..." to update what will be committed)
#
#	modified:  benchmarks.rb
#

Co to má znamenat? Teď je soubor benchmarks.rb označen jako staged i jako unstaged. Jak je to možné? Git vloží soubor do indexu právě takový, jaký byl, když jste na něj naposled použil git add. Pokud vytvoříte commit teď, bude do něj uložena ta verze, která je v indexu, tedy ta, která byla v adresáři ve chvíli, kdy byl naposled použit příkaz git add. Takže pokud chcete uložit i následující změny, musíte pustit git add znovu:

$ git add benchmarks.rb
$ git status
# On branch master
# Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#	new file:  README
#	modified:  benchmarks.rb
#

Ignoring Files

Often, you’ll have a class of files that you don’t want Git to automatically add or even show you as being untracked. These are generally automatically generated files such as log files or files produced by your build system. In such cases, you can create a file listing patterns to match them named .gitignore. Here is an example .gitignore file:

$ cat .gitignore
*.[oa]
*~

The first line tells Git to ignore any files ending in .o or .a — object and archive files that may be the product of building your code. The second line tells Git to ignore all files that end with a tilde (~), which is used by many text editors such as Emacs to mark temporary files. You may also include a log, tmp, or pid directory; automatically generated documentation; and so on. Setting up a .gitignore file before you get going is generally a good idea so you don’t accidentally commit files that you really don’t want in your Git repository.

The rules for the patterns you can put in the .gitignore file are as follows:

Glob patterns are like simplified regular expressions that shells use. An asterisk (*) matches zero or more characters; [abc] matches any character inside the brackets (in this case a, b, or c); a question mark (?) matches a single character; and brackets enclosing characters separated by a hyphen([0-9]) matches any character between them (in this case 0 through 9) .

nBigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol Pro Git - Pro Git 2.2 Zklady Gitu Zaznamenávání zmn do repozitáře Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idolw c Big Boobs Big jBigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idol Pro Git - Pro Git 2.2 Zklady Gitu Zaznamenávání zmn do repozitáře Bigboobsidol Th Rosalba Archive 2008 02 Aspx Big Boobs Big Boogs Idolo Big Boogs Big