FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

changes after the review · screamwork/visual-git-guide@4d97930 · GitHub

Repository navigation

Commit 4d97930

Browse files
committed
changes after the review
1 parent e2ad740 commit 4d97930

1 file changed

Lines changed: 20 additions & 21 deletions

File tree

‎index-pl.html‎

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ <h1 id="top">Git: Wizualna ściąga</h1>
2929
</ul>
3030
</div>
3131

32-
<p id="link-to-png">Jeśli obrazy nie wyświetlają się poprawnie, może skorzystać z wersji <a href="?no-svg">Non-SVG</a>.</p>
32+
<p id="link-to-png">Jeśli obrazy nie wyświetlają się poprawnie, można skorzystać z wersji <a href="?no-svg">Non-SVG</a>.</p>
3333

3434
<p id="link-to-svg">SVG zostało dezaktywowane.
3535
<a href="index.html">(Aktywuj SVG ponownie)</a></p>
@@ -71,36 +71,36 @@ <h2 id="basic-usage">Podstawy</h2>
7171

7272
<li><code>git commit</code> zapisuje migawkę (snapshot) przechowalni (stage) jako nowy commit.</li>
7373

74-
<li><code>git reset -- <em>files</em></code> usuwa pliki z przechowalni (stage); oznacza to, że komenda ta kopiuje <em>pliki</em> z ostatniego commita do przechowalni (stage). Używa się jej do "cofania" komendy <code>git add <em>files</em></code>. Komendy <code>git reset</code> można użyć również do całkowitego usunięcia wszystkich zmian.</li>
74+
<li><code>git reset -- <em>files</em></code> usuwa pliki z przechowalni (stage); oznacza to, że komenda ta kopiuje <em>pliki</em> z ostatniego commita do przechowalni (stage), nadpisując jej stan. Używa się jej między innymi do "cofania" komendy <code>git add <em>files</em></code>. Komendy <code>git reset</code> można użyć również do całkowitego usunięcia wszystkich zmian.</li>
7575

7676
<li><code>git checkout -- <em>files</em></code> kopiuje <em>pliki</em> z przechowalki (stage) do katalogu roboczego (working directory). Komendy tej używa się do cofnięcia wszelkich zmian lokalnych.</li>
7777

7878
</ul>
7979

80-
<p>Możesz użyć <code>git reset -p</code>, <code>git checkout -p</code>, lub
81-
<code>git add -p</code> zamiast (lub oprócz) wyszczególniania konkretnych elementów. Wówczas możesz wybrać je w sposób interaktywny.</p>
80+
<p>Można również użyć <code>git reset -p</code>, <code>git checkout -p</code>, lub
81+
<code>git add -p</code> zamiast (lub oprócz) wyszczególniania konkretnych elementów. Wówczas można wybrać je w sposób interaktywny.</p>
8282

83-
<p>Możliwe jest również bezpośrednie przeskoczenie do historii commitów i sprawdzenie plików bezpośrednio, bez konieczności przeniesienia ich do przechowalni (stage).</p>
83+
<p>Możliwe jest również bezpośrednie przeskoczenie do historii commitów i sprawdzenie plików bezpośrednio, bez konieczności wcześniejszego przeniesienia ich do przechowalni (stage).</p>
8484

8585
<div class="center"><img src='basic-usage-2.svg.png'></div>
8686

8787
<ul>
8888

8989
<li><code>git commit -a </code>automatycznie dodaje zmiany ze wszystkich znanych plików (dotyczy to zarówno <tt>git add</tt> jak i <tt>git rm</tt> dla plików usuniętych z katalogu roboczego (working directory)), a następnie wykonuje komendę <tt>git commit</tt>.</li>
9090

91-
<li><code>git commit <em>files</em></code> tworzy nowy commit, który zawiera całą zawartość ostatniego commita oraz migawkę (snapshot) wybranych <em>plików</em>. Oczywiście <em>pliki</em> kopiowane są do przechowalni (stage).</li>
91+
<li><code>git commit <em>files</em></code> tworzy nowy commit, który zawiera całą zawartość ostatniego commita oraz migawkę (snapshot) wybranych <em>plików</em>. Oczywiście <em>pliki</em> kopiowane są również do przechowalni (stage).</li>
9292

9393
<li><code>git checkout HEAD -- <em>files</em></code> kopiuje <em>pliki</em> z ostatniego commita zarówno do przechowalni (stage) jak i katalogu roboczego (working directory).</li>
9494

9595
</ul>
9696

9797
<h2 id="conventions">Konwencja</h2>
9898

99-
<p>W dalszej części tego dokumentu będą używane grafiki w następującej formi.</p>
99+
<p>W dalszej części tego dokumentu będą używane grafiki w następującej formie.</p>
100100

101101
<div class="center"><img src='conventions.svg.png'></div>
102102

103-
<p>Commity pokazane są w zielonych polach jako pięcio znakowe identyfikatory, które wskazują na swoich rodziców (wcześniejsze commity). Gałęzie (branche) pokazane są w pomarańczowych polach i wskazują na aktualne commity. Aktualne gałęzie (branche) można zidentyfikować dzięki specjalnemu oznaczeniu <em>HEAD</em>, które rzeczywiście jest "przyczepione" do gałęzi (brancha), w której się aktualnie znajdujemy. Na pokazanej grafice widzimy pięć ostatnich commitów, spośród których <em>ed489</em> jest najbardziej aktualnym.
103+
<p>Commity pokazane są w zielonych polach jako pięcioznakowe identyfikatory, które wskazują na swoich rodziców (wcześniejsze commity). Gałęzie (branche) pokazane są w pomarańczowych polach i wskazują na aktualne commity. Aktualne gałęzie (branche) można zidentyfikować dzięki specjalnemu oznaczeniu <em>HEAD</em>, które w rzeczywistości jest "przyczepione" do gałęzi (brancha), w której się aktualnie znajdujemy. Na pokazanej grafice widzimy pięć ostatnich commitów, spośród których <em>ed489</em> jest najbardziej aktualnym.
104104
<em>master</em> (aktualna gałąź - branch) wskazuje na ten commit, podczas gdy <em>maint</em> (inna gałąź - branch) wskazuje na przodka gałęzi (branch) <em>master</em> i jej commit.</p>
105105

106106
<h2 id="commands-in-detail">Poszczególne komendy</h2>
@@ -113,7 +113,7 @@ <h3 id="diff">Diff</h3>
113113

114114
<h3 id="commit">Commit</h3>
115115

116-
<p>Kiedy zatwierdzasz (commitujesz) zmiany, Git tworzy nowy obiekt używając plików znajdujących się w przechowalni (stage), jednocześnie wskazując jako swojego rodzica ostatni istniejący commit. Następnie aktualna gałąź (branch) zaczyna wskazywać na właśnie wykonany commit. Na grafice umieszczonej poniżej, aktualna gałąź (branch) to <em>master</em>. Zanim komenda została wykonana, gałąź (branch) <em>master</em> wskazywała na commit <em>ed489</em>. Po jej wykonaniu nowy commit oznaczony jako <em>f0cec</em> został utworzony z rodzicem w postaci <em>ed489</em>, a następnie gałąź (branch) <em>master</em> została przeniesiona na nowy commit.</p>
116+
<p>Kiedy zatwierdzasz (commitujesz) zmiany, Git tworzy nowy obiekt używając plików znajdujących się w przechowalni (stage), jednocześnie wskazując jako swojego rodzica ostatni istniejący commit. Następnie aktualna gałąź (branch) zaczyna wskazywać na właśnie tworzony commit. Na grafice umieszczonej poniżej aktualna gałąź (branch) to <em>master</em>. Zanim komenda została wykonana, gałąź (branch) <em>master</em> wskazywała na commit <em>ed489</em>. Po jej wykonaniu nowy commit oznaczony jako <em>f0cec</em> został utworzony z rodzicem w postaci <em>ed489</em>, a następnie gałąź (branch) <em>master</em> została przeniesiona na nowy commit.</p>
117117

118118
<div class="center"><img src='commit-master.svg.png'></div>
119119

@@ -136,21 +136,21 @@ <h3 id="checkout">Checkout</h3>
136136

137137
<div class="center"><img src='checkout-files.svg.png'></div>
138138

139-
<p>Kiedy <em>nie</em> zostanie podana nazwa pliku tylko nazwa gałęzi (branch) w lokalnym repozytorium, <em>HEAD</em> zostanie przeniesione do podanej gałęzi (branch) - oznacza to "przełączenie się" do danej gałęzi (branch). Przechowalnia (stage) oraz katalog roboczy (working directory) zawierają wówczas elementy commita z aktualnej gałęzi (branch). Każdy z plików wchodzących w skład nowego commita (<em>a47c3</em> poniżej) zostanie skopiowany; każdy plik wchodzący w skład starego commita (<em>ed489</em>), ale nie istnieje w nowym, zostanie usunięty; każdy z plików wchodzący w skład innych commitów zostanie zignorowany.</p>
139+
<p>Kiedy <em>nie</em> zostanie podana nazwa pliku tylko nazwa gałęzi (branch) w lokalnym repozytorium, <em>HEAD</em> zostanie przeniesione do podanej gałęzi (branch) - oznacza to "przełączenie się" do danej gałęzi (branch). Przechowalnia (stage) oraz katalog roboczy (working directory) zawierają wówczas elementy commita z aktualnej gałęzi (branch). Każdy z plików wchodzących w skład nowego commita (<em>a47c3</em> poniżej) zostanie skopiowany; każdy plik wchodzący w skład starego commita (<em>ed489</em>) i jednocześnie nie istniejący w nowym, zostanie usunięty; każdy z plików wchodzących w skład innych commitów zostanie zignorowany.</p>
140140

141141
<div class="center"><img src='checkout-branch.svg.png'></div>
142142

143-
<p>Kiedy ani nazwa pliku ani nazwa gałęzi (branch) z lokalnego repozytorium <em>nie</em> zostanie podana &mdash; zamiast tego może zostać podant tag, gałąź zdalnego repozytorium, SHA-1 ID lub coś w rodzaju <em>master~3</em> &mdash; otrzymamy anonimową gałąź (branch) zwaną <em>detached HEAD</em>. Jest ona przydatna do skakania po całej historii commitów. Powiedzmy, że chcemy skompilować wersję 1.6.6.1 gita. Możemy wykonać komendę <code>git checkout v1.6.6.1</code> (jest to tag, nie nazwa gałęzi (branch)), skompilować, zainstalować gita, a następnie wrócić do głównej gałęzi master, wydając komendę <code>git checkout master</code>. Mimo wszystko, commitowanie z wykorzystaniem detached HEAD działa trochę inaczej niż zazwyczaj; zostało to opisane <a href="#detached">poniżej</a>.</p>
143+
<p>Kiedy ani nazwa pliku ani nazwa gałęzi (branch) z lokalnego repozytorium <em>nie</em> zostanie podana &mdash; zamiast tego może zostać podanty tag, gałąź zdalnego repozytorium, SHA-1 ID lub coś w rodzaju <em>master~3</em> &mdash; otrzymamy anonimową gałąź (branch) zwaną <em>detached HEAD</em>. Jest ona przydatna do skakania po całej historii commitów. Powiedzmy, że chcemy skompilować wersję 1.6.6.1 gita. Możemy wykonać komendę <code>git checkout v1.6.6.1</code> (jest to tag, nie nazwa gałęzi (branch)), skompilować, zainstalować gita, a następnie wrócić do głównej gałęzi master, wydając komendę <code>git checkout master</code>. Mimo tej prostoty i podobieństw do zwykłej wersji tej komendy, commitowanie z wykorzystaniem detached HEAD działa trochę inaczej niż zazwyczaj; zostało to opisane <a href="#detached">poniżej</a>.</p>
144144

145145
<div class="center"><img src='checkout-detached.svg.png'></div>
146146

147147
<h3 id="detached">Committing z odłączonym (detached) HEAD</h3>
148148

149-
<p>Kiedy <em>HEAD</em> zostanie odłączone, commity działają tak samo jak zazwyczaj, z tą różnicą, że żadna istniejąca i nazwana gałąź (branch) nie zostanie zaktualizowana. Można powiedzieć, że commit pojawi się w anonimowej gałęzi (commit).</p>
149+
<p>Kiedy <em>HEAD</em> zostanie odłączone, commity działają tak samo jak zazwyczaj, z tą różnicą, że żadna istniejąca i nazwana gałąź (branch) nie zostanie zaktualizowana. Można powiedzieć, że commit pojawi się w anonimowej gałęzi (branch).</p>
150150

151151
<div class="center"><img src='commit-detached.svg.png'></div>
152152

153-
<p>W momencie, w którym HEAD zostanie przeniesiony w dowolne inne miejsce, takie jak na przykład gałąź (branch) <em>master</em>, nic już nie wskazuje na dany commit, w związku z czym commit przepada. W poniższym przykłądzie widać, że po wydaniu komendy nie ma żadnego dowiązania do commita <em>2eecb</em>.</p>
153+
<p>W momencie, w którym HEAD zostanie przeniesiony w dowolne inne miejsce, takie jak na przykład gałąź (branch) <em>master</em>, nic już nie wskazuje na dany commit, w związku z czym commit przepada. W poniższym przykładzie widać, że po wydaniu komendy nie ma żadnego dowiązania do commita <em>2eecb</em>.</p>
154154

155155
<div class="center"><img src='checkout-after-detached.svg.png'></div>
156156

@@ -162,11 +162,11 @@ <h3 id="reset">Reset</h3>
162162

163163
<p>Komenda reset przenosi aktualną gałąź (branch) do wskazanej pozycji oraz opcjonalnie aktualizuje przechowalnię (stage) oraz katalog roboczy (working directory). Jest również używana do kopiowania plików z katalogu git (history) do przechowalni (stage) bez naruszania katalogu roboczego (working directory).</p>
164164

165-
<p>Jeśli zostanie podany commit, ale nie zostaną podane nazwy plików, aktualna gałąź (branch) zostanie przeniesiona do podanego commita, a przechowalnia (stage) zaktualizowana o jego zawartość. Jeśli zostanie dodany przełącznik <code>--hard</code> zaktualizowany zostanie również katalog roboczy (working directory). Przełącznik <code>--soft</code> służy do przeniesienia gałęzi (branch), ale bez aktualizacji przechowalni (stage) oraz katalogu roboczego (working directory).</p>
165+
<p>Jeśli zostanie podany commit, ale nie zostaną podane nazwy plików, aktualna gałąź (branch) zostanie przeniesiona do podanego commita, a przechowalnia (stage) zaktualizowana o jego zawartość. Jeśli zostanie dodany przełącznik <code>--hard</code>, zaktualizowany zostanie również katalog roboczy (working directory). Przełącznik <code>--soft</code> służy do przeniesienia gałęzi (branch) do wskazanego miejsca, jednak bez aktualizacji przechowalni (stage) oraz katalogu roboczego (working directory).</p>
166166

167167
<div class="center"><img src='reset-commit.svg.png'></div>
168168

169-
<p>Jeśli commit nie zostanie podany, domyślnie gałąź (branch) wskazuje na <em>HEAD</em>. W takim przypadku nie nastąpi zmiana gałęzi (branch) - przechowalnia (stage) zostanie zresetowana do zawartości ostatniego commita (jeśli zostanie użyty przełącznik <code>--hard</code> resetowi ulegnie również katalog roboczy (working directory).</p>
169+
<p>Jeśli commit nie zostanie podany, domyślnie gałąź (branch) wskazuje na <em>HEAD</em>. W takim przypadku nie nastąpi zmiana gałęzi (branch) - przechowalnia (stage) zostanie zresetowana do zawartości ostatniego commita (jeśli zostanie użyty przełącznik <code>--hard</code> resetowi ulegnie również katalog roboczy (working directory)).</p>
170170

171171
<div class="center"><img src='reset.svg.png'></div>
172172

@@ -176,7 +176,7 @@ <h3 id="reset">Reset</h3>
176176

177177
<h3 id="merge">Merge</h3>
178178

179-
<p>Scalanie (merge) tworzy nowy commit, który łączy w sobie zmiany zawarte w innych commitach. Przed wykonaniem scalania (merging), przechowalnia (stage) musi zawierać aktualny commit, do którego będzie następowało scalanie. Najprostszym przypadkiem jest taki, w którym inny commit jest przodkiem commitu, do którego chcemy scalać. Następnym prostym przypadkiem jest taki, w którym aktualny commit jest przodkiem innego commita, który chcemy scalić z aktualnym. Oba przypadki kończą się scalaniem (merge) poprzez <em>fast-forward</em> Wskaźnik zostaje przeniesiony w prosty sposób na nowy commit.</p>
179+
<p>Scalanie (merge) tworzy nowy commit, który łączy w sobie zmiany zawarte w innych commitach. Przed wykonaniem scalania (merging), przechowalnia (stage) musi zawierać aktualny commit, do którego będzie następowało scalanie. Najprostszym przypadkiem jest taki, w którym inny commit jest przodkiem commitu, do którego chcemy scalać. Następnym prostym przypadkiem jest taki, w którym aktualny commit jest przodkiem innego commita, który chcemy scalić z aktualnym. Oba przypadki kończą się scalaniem (merge) poprzez <em>fast-forward</em> - wskaźnik zostaje przeniesiony w prosty sposób na nowy commit.</p>
180180

181181
<div class="center"><img src='merge-ff.svg.png'></div>
182182

@@ -202,15 +202,14 @@ <h3 id="rebase">Rebase</h3>
202202

203203
<div class="center"><img src='rebase-onto.svg.png'></div>
204204

205-
<p>Istnieje również komenda z przełącznikiem <code>git rebase --interactive</code>, która pozwala na wykonywania bardziej skomplikowanych operacji niż tylko same powtarzanie commitów. Niestety nie istnieje żadna oczywista grafika, która w sposób jasny pomogłaby wyjaśnić jej działanie; więcej szczegółów można znaleźć pod tym linkiem: <a
206-
href='http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html#_interactive_mode'>git-rebase(1)</a>
207-
for more details.</p>
205+
<p>Istnieje również komenda z przełącznikiem <code>git rebase --interactive</code>, która pozwala na wykonywania bardziej skomplikowanych operacji niż tylko samo powtarzanie commitów. Niestety nie istnieje żadna oczywista grafika, która w sposób jasny pomogłaby wyjaśnić jej działanie; więcej szczegółów można znaleźć pod tym linkiem: <a
206+
href='http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html#_interactive_mode'>git-rebase(1)</a></p>
208207

209208
<h2 id="technical-notes">Uwagi techniczne</h2>
210209

211-
<p>Zawartość plików nie jest tak naprawdę trzymana w pliku index (<em>.git/index</em>) lub w obiektach będących commitami. Tak naprawdę każdy plik trzymany jest w bazie obiektów (object database) (<em>.git/objects</em>) jako obiekt zwany <em>blob</em>, który można zidentyfikować za pomocą hasha SHA-1. Plik index zawiera listę plików wraz z ich identyfikatorami przypisanymi do obiektów blob, a oprócz tego zawiera również inne dane. Na potrzeby commitów stworzony został inny typ danych, znany jako drzewa (<em>tree</em>), który również można zidentyfikować z wykorzystaniem hashy. Drzewa (trees) powiązane są z katalogami w katalogu roboczym (working directory) i zawierają listę drzew oraz obiektóœ typu blob, które połączone są z nazwami plików w danym katalogu. Każdy commit posiada identyfikator swojego "top-level tree", który z kolei zawiera wszystkie obiekty typu blob oraz inne drzewa (trees) powiązane z danym commitem.</p>
210+
<p>Zawartość plików nie jest tak naprawdę trzymana w pliku index (<em>.git/index</em>) lub w obiektach będących commitami. Tak naprawdę każdy plik trzymany jest w bazie obiektów (object database) (<em>.git/objects</em>) jako obiekt zwany <em>blob</em>, który można zidentyfikować za pomocą hasha SHA-1. Plik index zawiera listę plików wraz z ich identyfikatorami przypisanymi do obiektów blob, a oprócz tego zawiera również inne dane. Na potrzeby commitów stworzony został inny typ danych, znany jako drzewa (<em>tree</em>), który również można zidentyfikować z wykorzystaniem hashy. Drzewa (trees) powiązane są z katalogami w katalogu roboczym (working directory) i zawierają listę drzew oraz obiektów typu blob, które połączone są z nazwami plików w danym katalogu. Każdy commit posiada identyfikator swojego "top-level tree", który z kolei zawiera wszystkie obiekty typu blob oraz inne drzewa (trees) powiązane z danym commitem.</p>
212211

213-
<p>Podczas wykonywania commita z odłączonym HEAD (detached HEAD), ostatni commit tak naprawdę posiada coś, co na niego wskazuje: reflog HEADa (historia wykonywanych zmian na headach). Mimo wszystko wskazanie to wygasa po krótkiej chwili, w związku z tym commit może zostać zutylizowany, podobnie do commitów porzuconych przez komendy <code>git commit --amend</code> oraz <code>git rebase</code>.</p>
212+
<p>Podczas wykonywania commita z odłączonym HEAD (detached HEAD), ostatni commit tak naprawdę posiada coś, co na niego wskazuje: reflog HEADa (historia wykonywanych zmian na headach). Mimo wszystko wskazanie to wygasa po krótkiej chwili, a w związku z tym commit może zostać zutylizowany, podobnie jak commity porzuconye przez komendy <code>git commit --amend</code> oraz <code>git rebase</code>.</p>
214213

215214
<hr>
216215

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL