You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Na tej točki morate deliti nekaj dela z Johnom, torej potisne njene potrditve veje `featureA` na strežnik.
353
353
Jessica nima dostopa potiskanja na vejo `master` - to imajo samo povezovalci - torej mora potisniti na drugo vejo, da lahko sodeluje z Johnom:
354
354
355
-
[source,console]
355
+
[source,console?prompt=$]
356
356
----
357
357
$ git push -u origin featureA
358
358
...
@@ -395,7 +395,7 @@ Pripravljena je potisniti njeno delo, vendar dobi e-pošto od Josie, da je veja
395
395
Jessica mora najprej združiti te spremembe v njeno lastno, preden lahko potisne svoje delo na strežnik.
396
396
Jessica najprej prenese spremembe Josie z `git fetch`:
397
397
398
-
[source,console]
398
+
[source,console?prompt=$]
399
399
----
400
400
$ git fetch origin
401
401
...
@@ -417,7 +417,7 @@ Merge made by the 'recursive' strategy.
417
417
V tem trenutku Jessica želi vse združeno delo "`featureB`" potisniti nazaj na strežnik, vendar noče preprosto potisniti svoje veje `featureB`.
418
418
Ker je Josie že začela z zgornjo vejo `featureBee`, želi Jessica potisniti na _to_ vejo, kar stori s:
419
419
420
-
[source,console]
420
+
[source,console?prompt=$]
421
421
----
422
422
$ git push -u origin featureB:featureBee
423
423
...
@@ -432,7 +432,7 @@ Bodite pozorni tudi na zastavico `-u`; to je okrajšava za `--set-upstream`, ki
432
432
Nenadoma Jessica prejme e-pošto od Johna, ki ji sporoči, da je potisnil nekaj sprememb na vejo `featureA`, na kateri sodelujeta, in jo prosi, naj si jih ogleda.
433
433
Ponovno Jessica zažene preprost ukaz `git fetch`, da prenese _vse_ nove vsebine s strežnika, vključno (seveda) z Johnovim najnovejšim delom:
434
434
435
-
[source,console]
435
+
[source,console?prompt=$]
436
436
----
437
437
$ git fetch origin
438
438
...
@@ -467,7 +467,7 @@ Fast forward
467
467
468
468
Nazadnje bi Jessica lahko želela narediti nekaj manjših sprememb na vsem tem združenem delu, zato je prosta, da naredi te spremembe, jih potrdi v svoji lokalni veji `featureA` in potisne končni rezultat nazaj na strežnik:
469
469
470
-
[source,console]
470
+
[source,console?prompt=$]
471
471
----
472
472
$ git commit -am 'Add small tweak to merged content'
473
473
[featureA 774b3ed] Add small tweak to merged content
@@ -671,7 +671,7 @@ Ukaz `format-patch` izpiše imena datotek popravka, ki ga ustvari.
671
671
Preklop `-M` pove Gitu, da išče preimenovanja.
672
672
Datoteke so na koncu videti takole:
673
673
674
-
[source,console]
674
+
[source,console?prompt=$]
675
675
----
676
676
$ cat 0001-add-limit-to-log-function.patch
677
677
From 330090432754092d704da8e76ca5c05c198e71a8 Mon Sep 17 00:00:00 2001
@@ -754,7 +754,7 @@ Kot prej, lahko nastavite vsako vrednost ločeno s serijo ukazov `git config`, a
754
754
755
755
Ko je to narejeno, lahko uporabite `git send-email`, da pošljete svoje popravke:
Copy file name to clipboardexpand all lines: book/05-distributed-git/sections/maintaining.asc
+7-7
Original file line number
Diff line number
Diff line change
@@ -77,7 +77,7 @@ Da uporabite programski popravek generiran s `format-patch`, uporabite `git am`
77
77
Tehnično je `git am` zgrajen, da prebere datoteko mbox, ki je enostaven tekstovni format za shranjevanje enega ali več e-poštnih sporočil v eni tekstovni datoteki.
78
78
Videti je nekako takole:
79
79
80
-
[source,console]
80
+
[source,email]
81
81
----
82
82
From 330090432754092d704da8e76ca5c05c198e71a8 Mon Sep 17 00:00:00 2001
@@ -103,7 +103,7 @@ Vidite lahko, da se je programski popravek uporabil brez težav in samodejno ust
103
103
Informacije o avtorju so vzete iz glav `From` in `Date` v e-pošti, sporočilo potrditve pa je vzeto iz `Subject` in telesa (pred popravkom) e-pošte.
104
104
Če je bil na primer ta programski popravek uporabljen iz zgornjega primera mbox, bi bila ustvarjena potrditev nekaj podobnega temu:
105
105
106
-
[source,console]
106
+
[source,console?prompt=$]
107
107
----
108
108
$ git log --pretty=fuller -1
109
109
commit 6c5e70b984a60b3cecd395edd5b48a7575bf58e0
@@ -209,7 +209,7 @@ Druga prednost tega pristopa je, da dobite tudi zgodovino opravljenih potrditev.
209
209
Če ne sodelujete redno z osebo, vendar še vedno želite povleči od njih na ta način, lahko naslov URL oddaljenega repozitorija navedete v ukazu `git pull`.
210
210
To naredi enkratno vlečenje in ne shrani URL-ja kot referenčnega oddaljenega vira:
211
211
212
-
[source,console]
212
+
[source,console?prompt=$]
213
213
----
214
214
$ git pull https://github.com/onetimeguy/project
215
215
From https://github.com/onetimeguy/project
@@ -230,7 +230,7 @@ Potrditve v veji `master` lahko izključite tako, da pred imenom veje dodate mo
230
230
To stori isto kot oblika `master..contrib`, ki smo jo uporabili prej.
231
231
Na primer, če vam sodelavec pošlje dve potrditvi in ustvarite vejo z imenom `contrib` ter nanjo uporabite te potrditve, lahko zaženete:
232
232
233
-
[source,console]
233
+
[source,console?prompt=$]
234
234
----
235
235
$ git log contrib --not master
236
236
commit 5b6235bd297351589efc4d73316f0a68d484f118
@@ -433,7 +433,7 @@ Ko se odločite za izdajo, boste verjetno želeli dodeliti oznako, da boste lahk
433
433
Novo oznako lahko ustvarite, kot je opisano v <<ch02-git-basics-chapter#ch02-git-basics-chapter>>.
434
434
Če se odločite podpisati oznako kot vzdrževalec, je lahko postopek označevanja videti nekako takole:
435
435
436
-
[source,console]
436
+
[source,console?prompt=$]
437
437
----
438
438
$ git tag -s v1.5 -m 'my signed 1.5 tag'
439
439
You need a passphrase to unlock the secret key for
Vzdrževalec projekta Git je to težavo rešil tako, da je svoj javni ključ vključil kot blob v repozitoriju in nato dodal oznako, ki neposredno kaže na ta vsebino.
446
446
Kateri ključ želite, lahko ugotovite tako, da zaženete ukaz `gpg --list-keys`:
447
447
448
-
[source,console]
448
+
[source,console?prompt=$]
449
449
----
450
450
$ gpg --list-keys
451
451
/Users/schacon/.gnupg/pubring.gpg
@@ -535,7 +535,7 @@ Zdaj imate lep tarball in arhiv zip vaše projektne izdaje, ki ju lahko naložit
535
535
Lep način hitrega pridobivanja vrste sprememb, ki so bile dodane v vaš projekt od zadnje objave ali e-pošte, je uporaba ukaza `git shortlog`.
536
536
Povzame vse potrditve v določenem obsegu; na primer, naslednje vam da povzetek vseh potrditev od zadnje objave, če je bila vaša zadnja objava poimenovana `v1.0.1`:
@@ -243,7 +243,7 @@ Pomembna je zgodovina in končno združevanje, zato ponovno baziranje ne prinaš
243
243
Na primer, recimo, da je prvotni avtor v primeru "`tonychacon`", ki smo ga uporabljali prej, naredil spremembo, ki bi povzročila konflikt v zahtevku potega.
Copy file name to clipboardexpand all lines: book/06-github/sections/3-maintaining.asc
+3-3
Original file line number
Diff line number
Diff line change
@@ -154,7 +154,7 @@ To pomeni, da lahko precej enostavno povlečete vse veje zahtevka potega v enem
154
154
155
155
Sedaj lahko na primer prenesete referenco neposredno.
156
156
157
-
[source,console]
157
+
[source,console?prompt=$]
158
158
----
159
159
$ git fetch origin refs/pull/958/head
160
160
From https://github.com/libgit2/libgit2
@@ -193,7 +193,7 @@ To področje lahko spremenite in dodate nov refspec:
193
193
Ta zadnja vrstica sporoči Gitu: "`Vse sklice, ki so videti kot `refs/pull/123/head`, naj se lokalno shrani kot `refs/remotes/origin/pr/123`.`"
194
194
Če zdaj shranite to datoteko in izvedete `git fetch`:
195
195
196
-
[source,console]
196
+
[source,console?prompt=$]
197
197
----
198
198
$ git fetch
199
199
# …
@@ -294,7 +294,7 @@ V glavah e-poštnih sporočil, ki jih GitHub pošilja, je tudi precejšnje štev
294
294
295
295
Na primer, če si ogledamo dejanske glave e-pošte, ki jih GitHub pošilja Tonyju v e-poštnem sporočilu, prikazanem v <<_email_pr>>, bomo med poslano informacijo videli:
Copy file name to clipboardexpand all lines: book/07-git-tools/sections/advanced-merging.asc
+15-15
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ hello()
38
38
V svojem repozitoriju ustvarimo novo vejo, imenovano `whitespace` in nadaljujemo s spreminjanjem vseh končnic vrstic Unix v končnice vrstic DOS, torej dejansko spremenimo vsako vrstico datoteke, vendar le s praznimi znaki.
39
39
Nato spremenimo vrstico "`hello world`" v "`hello mundo`".
Sedaj poskusimo združiti v našo vejo `whitespace` in dobimo konflikte zaradi sprememb praznih znakov.
100
100
101
-
[source,console]
101
+
[source,console?prompt=$]
102
102
----
103
103
$ git merge whitespace
104
104
Auto-merging hello.rb
@@ -113,7 +113,7 @@ Zdaj imamo nekaj možnosti.
113
113
Najprej se pogovorimo, kako iz te situacije priti ven.
114
114
Če niste pričakovali konfliktov in se z njimi ne želite spopasti, lahko preprosto razveljavite združevanje z `git merge --abort`.
115
115
116
-
[source,console]
116
+
[source,console?prompt=$]
117
117
----
118
118
$ git status -sb
119
119
## master
@@ -194,7 +194,7 @@ $ git ls-files -u
194
194
195
195
Sedaj, ko imamo vsebine vseh treh stopenj v svojem delovnem imeniku, lahko njihovo težavo praznih znakov ročno popravimo in poskusimo ponovno združiti datoteko z manj znanim ukazom `git merge-file`, ki počne ravno to.
196
196
197
-
[source,console]
197
+
[source,console?prompt=$]
198
198
----
199
199
$ dos2unix hello.theirs.rb
200
200
dos2unix: converting file hello.theirs.rb to Unix format ...
@@ -228,7 +228,7 @@ Pojdi skozi vse.
228
228
229
229
Da primerjate svoj rezultat s tistim, kar ste imeli v svoji veji pred združitvijo, z drugimi besedami, da vidite, kaj je združitev uvedla, lahko zaženete `git diff --ours`:
230
230
231
-
[source,console]
231
+
[source,console?prompt=$]
232
232
----
233
233
$ git diff --ours
234
234
* Unmerged path hello.rb
@@ -252,7 +252,7 @@ Tukaj lahko jasno vidimo, da se je v naši veji spremenila samo ta ena vrstica i
252
252
Če želimo videti, kako se je rezultat združevanja razlikoval od tistega, kar je bilo na njihovi strani, lahko zaženemo `git diff --theirs`.
253
253
V tem in naslednjem primeru moramo uporabiti `-b`, da odstranimo prazne znake, ker primerjamo s tem, kar je v Gitu in ne z našo očiščeno datoteko `hello.theirs.rb`.
254
254
255
-
[source,console]
255
+
[source,console?prompt=$]
256
256
----
257
257
$ git diff --theirs -b
258
258
* Unmerged path hello.rb
@@ -271,7 +271,7 @@ index e85207e..44d0a25 100755
271
271
272
272
Na koncu lahko z `git diff --base` vidite, kako se je datoteka spremenila iz obeh strani.
Sedaj imamo tri unikatne potrditve, ki se nahajajo samo v veji `master` ter tri ostale, ki se nahajajo v veji `mundo`.
326
326
Če poskusimo združiti vejo `mundo`, dobimo konflikt.
327
327
328
-
[source,console]
328
+
[source,console?prompt=$]
329
329
----
330
330
$ git merge mundo
331
331
Auto-merging hello.rb
@@ -408,7 +408,7 @@ Včasih lahko zelo pomaga pregledati nekaj zgodovine, da se spomnite, zakaj sta
408
408
409
409
Če želimo dobiti popoln seznam vseh edinstvenih potrditev, ki so bile vključene v katerokoli vejo, ki sodeluje pri tem združevanju, lahko uporabimo sintakso "`trojne pike`", ki smo se je naučili v <<ch07-git-tools#_triple_dot>>.
@@ -424,7 +424,7 @@ To je dober seznam šestih vključenih skupnih potrditev, kot tudi na kateri vrs
424
424
To lahko še bolj poenostavimo, da dobimo natančnejši kontekst.
425
425
Če dodamo ukazu `git log` možnost `--merge`, bo prikazal samo tiste potrditve na vsaki strani združevanja, ki se dotikajo datoteke, ki je trenutno v konfliktu.
426
426
427
-
[source,console]
427
+
[source,console?prompt=$]
428
428
----
429
429
$ git log --oneline --left-right --merge
430
430
< 694971d Update phrase to 'hola world'
@@ -441,7 +441,7 @@ To lahko pomaga pri ogledu tega, kar morate še rešiti.
441
441
442
442
Ko zaženete `git diff` neposredno po konfliktnem združevanju, vam bo dala informacije v dokaj edinstveni obliki izpisa diff.
443
443
444
-
[source,console]
444
+
[source,console?prompt=$]
445
445
----
446
446
$ git diff
447
447
diff --cc hello.rb
@@ -470,7 +470,7 @@ To ima smisel, saj jih je orodje za združevanje tam postavilo za naš kontekst,
470
470
471
471
Če rešimo konflikt in znova zaženemo `git diff`, bomo videli isto stvar, vendar je to nekoliko bolj uporabno.
472
472
473
-
[source,console]
473
+
[source,console?prompt=$]
474
474
----
475
475
$ vim hello.rb
476
476
$ git diff
@@ -496,7 +496,7 @@ To lahko pomaga pri pregledu pred potrditvijo rešitve.
496
496
To lahko dobite tudi iz `git log` za vsako združitev, da vidite, kako je bila neka težava v resnici rešena.
497
497
Git bo izpisal to obliko, če na potrditvi združitve zaženete `git show`, ali pa če dodate možnost `--cc` h `git log -p` (ki privzeto prikazuje popravke samo za potrditve nezdružitev).
498
498
499
-
[source,console]
499
+
[source,console?prompt=$]
500
500
----
501
501
$ git log --cc -p -1
502
502
commit 14f41939956d80b9e17bb8721354c33f8d5b5a79
@@ -630,7 +630,7 @@ Vse razlike, ki se konfliktno prekrivajo, bo preprosto izbral celotno stran, ki
630
630
631
631
Če se vrnemo na primer "`hello world`", ki smo ga uporabljali prej, lahko vidimo, da združitev naše veje povzroči konflikt.
Copy file name to clipboardexpand all lines: book/07-git-tools/sections/debugging.asc
+3-3
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Prikaže vam, katera potrditev je bila zadnja, ki je spremenila vsako vrstico v
12
12
13
13
V spodnjem primeru `git blame` določa, katera potrditev in avtor sta bila odgovorna za vrstice v glavnem jedru Linux datoteke `Makefile`, in še dodatno uporablja možnost `-L`, da omeji izpis anotacije na vrstice od 69 do 82 v tej datoteki:
@@ -113,7 +113,7 @@ Bisecting: 1 revisions left to test after this
113
113
Ta potrditev je v redu in zdaj ima Git vse informacije, ki jih potrebuje, da ugotovi, kje je bil vnesen problem.
114
114
Pove vam SHA-1 prve slabe potrditve in prikaže nekatere informacije o potrditvi ter katere datoteke so bile spremenjene v tej potrditvi, tako da lahko ugotovite, kaj se je zgodilo, da bi lahko uvedlo to napako:
115
115
116
-
[source,console]
116
+
[source,console?prompt=$]
117
117
----
118
118
$ git bisect good
119
119
b047b02ea83310a70fd603dc8cd7a6cd13d15c04 is first bad commit
0 commit comments