Sasa Posted December 14, 2012 Report Share Posted December 14, 2012 Sveicināti, Sākšu ar to ka GIT uz servera ir uzlikts 1.7.0.4 (nezinu vec vai jauns bet tam nav nozīmes). Tātad sākšu ir webisks risinājums gribu to ielikt GIT'ā pēc tam izčekot lokāli priekš turpmākas izstrādes, bet izstrādājot un kommitojot izmaiņas negribu nograut stabilo versiju. Tāpēc ir ideja izveidot branchu un tad šo branch merdžot tunkā, tādā veidā man būtu iespēja strādāt branchā un testēt ja viss ok tad iepludināt izmaiņas trunkā. Domāju kaut kā tā visu organizēt vienīgais GIT'ā līdz šim neesmu strādājis, ir nācies strādāt ar TFS un SVN bet šie no GIT atšķiras tik ideja kopēja versionēšana. Tātad kā man izveidot savu über alles krutāko DEV infrastruktūru? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 14, 2012 Report Share Posted December 14, 2012 Mēs darbā un es savos open-source projektos daram tā, ka ir "master" brenčs, kurā drīkst būt tikai testēts, code-revjūvots kods, kas ir stabils un strādā. Visa izstrāde notiek citos brenčos, kuru nosaukums sakrīt ar taska ID. Kad darbs ir pabeigts, jaunākais "master" brenčs tiek samerdžots ar "feature" brenču, nopušots; Jenkins pārbauda, vai testi iet, vai nav pasliktinājies "code coverege", vai nav atrastas kādas stila kļūdas (pep8, jshint utml.), un, vai visā visumā viss ir labi. Ja jā, tad tas viss tiek iemerdžots atpakaļ iekš "master" brenča ar "squash" flegu un komitu-mesedžu, kas norāda taska ID un nosaukumu. Re kur vienkāršots piemērs: https://github.com/daGrevis/daGrevis.lv/commits/master . Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 14, 2012 Author Report Share Posted December 14, 2012 Ideja man ir skaidra tagad jāmēģina realizēt. 1. Man ir gatavs projekts iesākumā es tajā sataisīšu Git repozitoriju, to tā kā es mācētu. 2. Nākamais kas laikam sekotu no šī "master" benča uztaisīt kādu citu brenču kurā tad es taisītu jaunas fīčas un testēšu. jaunākais "master" brenčs tiek samerdžots ar "feature" brenču, nopušots šo momentu es īsti nesapratu :( Kas ir "squash" flags? ID man nebūs jo pagaidām esmu viens, un viss šis tikai mana ērtuma labad. :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 14, 2012 Report Share Posted December 14, 2012 ~~~ ~/Test » mkdir foo ~/Test » cd foo Test/foo » git init Initialized empty Git repository in /home/dagrevis/Test/foo/.git/ Test/foo - [master] » touch a Test/foo - [master●] » git add . Test/foo - [master●] » git commit -m "added a" [master (root-commit) b579e0c] added a 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a Test/foo - [master] » git checkout -b feature Switched to a new branch 'feature' Test/foo - [feature] » touch b Test/foo - [feature●] » git add . Test/foo - [feature●] » git commit -m "added b" [feature 53688ad] added b 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 b Test/foo - [feature] » touch c Test/foo - [feature●] » git add . Test/foo - [feature●] » git commit -m "added c" [feature bf25045] added c 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 c Test/foo - [feature] » git merge master # merge master in feature branch Already up-to-date. Test/foo - [feature] » git checkout master Switched to branch 'master' Test/foo - [master] » git merge --squash feature # merge feature in master branch w/ squash Updating b579e0c..bf25045 Fast-forward Squash commit -- not updating HEAD b | 0 c | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 b create mode 100644 c Test/foo - [master●] » git commit -m "added feature (squash all commits in feature branch into one commit in master branch)" [master e3c7e16] added feature (squash all commits in feature branch into one commit in master branch) 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 b create mode 100644 c Test/foo - [master] » git log --oneline e3c7e16 added feature (squash all commits in feature branch into one commit in master branch) b579e0c added a ~~~ Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 14, 2012 Report Share Posted December 14, 2012 Tak salabojiet šito forumu... nekas īsti te nestrādā!! Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 15, 2012 Author Report Share Posted December 15, 2012 deGravi: a Tu izmanto konsoli darbā ar Gir vai kādu tooli teiksim kā TortoiseGit (windows) es nezinu vai Tu strādā uz Windows? Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 15, 2012 Author Report Share Posted December 15, 2012 PS. forumā man nestrādā Edit poga Google Chrome ar Windowsu Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 15, 2012 Report Share Posted December 15, 2012 Tikai termināli. Esmu Arch Linux lietotājs. http://i.imgur.com/8yDOI.jpg Quote Link to comment Share on other sites More sharing options...
nemec Posted December 16, 2012 Report Share Posted December 16, 2012 Nečakarējies, ņem https://github.com/nvie/gitflow + špikeris http://teit.lv/cheatsheet/git/zarosanas-komandas.png Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 16, 2012 Author Report Share Posted December 16, 2012 Tā arī līdz galam vēl neesmu sapratis kā tas Git strādā :( Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 16, 2012 Report Share Posted December 16, 2012 Neieteiktu izmantot kkādas abstrakcijas, kamēr neesi vismaz daļēji sapratis kas ir apakšā. > Tā arī līdz galam vēl neesmu sapratis kā tas Git strādā :( Internetā ir kaude ar labu, vienkāršu literatūru. _Google it!_ Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 17, 2012 Author Report Share Posted December 17, 2012 Literatūra ir pārlasīta vairākkārt. Pa lielam nav vajag tik skaidrībā ka sataisīt tā kā es esmu iedomājies. Kas gan tur var būt sarežģīts reku mans scenārijs kā vēlos strādāt: 1. Ir sagatavots Git repozitorijs un servera 2. Izveidoju master brenču 3. Izveidoju development brenču 4. Sataisu colne abiem brenčiem atsevišķās mapēs uz sava izstrādes datora. 5. Sataisu switč uz development brenču, uz tās mapes kurā ir izkolēnēts development breņč 6. Veicu kaut kādas izmaiņas - > commit -> push uz serveri 7. Pārsvičojos uz master brenču, uz tās mapes kurā ir izklonēts master brenč. 8. git merge master development (gribu development izmaiņas ielikt master brenčā) 9. pull master no servera 10. un tagad vai nu nostrādā vai nu nenostrādā, šo momentu vēl nēesmu sapratis. Vienu reizi itkā strādā ka man vajag. Tad sataisu jaunu repozitoriju daru itkā visu kā līdz šim bet izmaiņas ir visu laiku no pirmā commita un viss. Māsterā nekādas izmaiņas pēc idejas es neveidošu likšu tās no development breņča un šo es neesmu izkodis arī pēc 1L nesapratu un gāju gulēt. Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted December 17, 2012 Report Share Posted December 17, 2012 Nekas nav jaaklonee nekaadaas atsevishkjaas mapees. Mees kompaanijaa izmantojam GitHub flow (ne gitflow ko nemec iesaka - lai gan to izmantojaam ieprieksh) ar nelielaam izmainjaam. git clone git@... mape // izveido lokaalo repozitoriju git checkout -b feature-branch master // izveido jaunu branch'u (shos suutam arii uz centraalo repozitoriju, bet saakumaa paspeeleejies bez taa) // veic izmainjas git add -A // sastage'o visas izmainjas git commit -m "Veicu izmainjas" // uztaisa commit'u git checkout master // paarsleedzas uz master branch'u git merge --no-ff feature-branch // iemergo feature-branch atpakalj master branch'aa (un saglabaa veesturee, ka tas bija feature-branch) git branch -d feature-branch // izdzeesh feature-branch git push master origin // suuta jaunos commit'us uz centraalo repozitoriju Serveris ir uz tikai uz master branch'a un lielaakoties pietiek ar git pull Quote Link to comment Share on other sites More sharing options...
daGrevis Posted December 17, 2012 Report Share Posted December 17, 2012 > Nekas nav jaaklonee nekaadaas atsevishkjaas mapees. Nav, bet teorētiski tas ir vienkārši. Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 17, 2012 Author Report Share Posted December 17, 2012 Manas idejas pamatā jau ir redzēt to kas darās pa abiem brenčiem. Un es nezinu vai gribu uz katru labojumu ņemt brenču un pēc izmaiņu ielikšanas māsterī to dzēst. Gribu divus brenčus, kur vienā ir pārbaudīts kods, bet otrā notiek izstrāde un kā arī gribu brenča saturu redzēt lokāli uz sava datora. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.