Git pitanje

poruka: 7
|
čitano: 4.676
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
9 godina
neaktivan
offline
Git pitanja

Pozdrav, nadam se da je adekvatno mesto za pitanje.

 

1. Interesuje me sledece kako se radi. Imamo granu main ili master, iz nje imamo develop pa iz nje napravim novu gradu recimo task1. I na toj grani radi, 1,2, 5 commit i sada kada sam zavrsio hocu to da marge-jem na develop. E sada ja ne bi da bude svim tih 5 commita i na develop. Sledece ne znam kako je izvodljivo. Da li moze sve to da bude kao jedan commit ili samo zadnji da se vidi? Znaci ne bi da bude svih 5 nego samo jedan tj. da bude kao da sam imao jedan jedini commit u kom ce biti vidljive sve promene jer kako shvatam za neki task koji je kompletiran nema razloga da se vidi svi commiti nego samo rezultat da je zavrsen i marge-van. 

 

2. Ako gore pitanje nije rebase, a kako sam citao nije ali opet ne mogu da ga razumem pa bi zamolio za dodatno objasnjenje.

 

3. Dok radim na nekoj grani i fajlove sam ubacio u stage. Hocu na brzinu da skoknem na drugu granu ali ako odem ti fajlovi me prate koji nisu commitovani. Da ne bi commitovao, sta onda? Nesto sam trazio i vidim da ima stash, dok na intellij idea ima shelf. Da li je to namenjeno za ovo sto pitam?

 
0 0 hvala 0
9 godina
offline
Re: Git pitanje
1. To bi bilo --squash
2. Rebase napravi da izgleda kao da si krenuo sa izmjenama sa drugog commita.
3. Jeste stash
 
2 0 hvala 1
9 godina
neaktivan
offline
Git pitanje

1. Squash uradim pre nego sto cu margovati tj. sve sam zavrsio, uradim squash i onda margujem na granu? Da li je u mom primeru uvek dobro uraditi squash?

2. Mislim da nisam opet dobro razumeo. Gledam primere ali nisam bas siguran.

 
0 0 hvala 0
16 godina
offline
Git pitanje

1.

- Prebaci se na develop granu (u nju želiš spojiti task1)

- Prilikom git merge koristi flag --no-ff (no fast forward), ta opcija uvijek kreira merge commit. Ako koristiš --rebase onda će se na granu na koju spajaš pojaviti svi commitovi sa task1 grane.

 

Primjer:

 

git merge --no-ff task1

 

2. Sve sam ti vezano za --rebase opciju objasnio u prvom odgovoru.

 

3. Ne znam kako je u intellij idea git klijentu, ali da, git ima opciju stashanja. Ta opcija jednostavno promjene koje si napravio, a zapravo ne želiš još commitati jer nisi gotov, stavi "sa strane" i onda opet imaš čisti stage, pa se možeš prebaciti na neku drugu granu. Kasnije taj stash možeš vratiti ili baciti u smeće.

 

Inače preporučam svima prilikom rada sa gitom koristiti Sublime Merge alat. Jako je moćan i jednostavan i što je najbolje sve komande koje izvršite možete vidjeti, te na taj način možete naučiti kako zapravo git radi. Alat je vizualan i lijepo možete vidjeti sve grane i sve commitove, da ne pričam da ima odlično pretraživanje, prema nazivu datoteke ili prema sadržaju datoteke ili recimo prema autoru. Uglavnom preporučam! Program se može koristiti neograničeno iako nije besplatan.

King in the castle, king in the castle ...
Poruka je uređivana zadnji put čet 24.2.2022 23:47 (tjodalv).
 
1 0 hvala 1
9 godina
neaktivan
offline
Git pitanje

Hvala na odgovoru. Jasnije mi je sada. 

 

Imam jos jednu nedoumicu. Da li ima neki best practice template kako se pisu commit poruke? Gledao sam malo po githubu ali uglavnom su to kratke poruke o tome sta je radjeno. Da li je tako i na projektima? Da li je ok npr. "Added method ..., changed in class Foo, refectored class ..., removed ... " itd. ?

 

 
0 0 hvala 0
16 godina
offline
Re: Git pitanje

Što se tiče commit poruka ja pokušavam u kratkim crtama objasniti što je promijenjeno u pojedinom komitu. Ako je, neki puta, neka komplicirana promjena onda se trudim to detaljno upisati u komit poruci pa čak i priložiti neki URL koji objašnjava situaciju. Bitno je da netko novi kad gleda te komit poruke da one imaju smisla i da se jasno vidi što se tu događa. Jedina je praksa da duljina retka ne bude više od 73 znakova zbog ljudi koji pregledavaju komitove kroz terminal. Ako je više stvari odrađeno u jednom komitu onda ja to ovako volim popisati:

 

"Ovo je glavna poruka što se radilo u komitu
- ovo je prvi fix
- ovo je drugi fix
- ovo je nešto deseto ..."

King in the castle, king in the castle ...
11 godina
neaktivan
offline
Re: Git pitanje

U prvi redak obično stavi kratak opis u imeprativu. npr. "Postavi placeholder za adrese na formama" ili "Dodaj model Zakljucak". Ako to nije dovoljno dodam prazan redak i opširnije objašnjenje.

 

Preporučam da izbjegavaš generičke poruke ("Small fixes") i prevelike commitove.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice