sử dụng git cho người mới bắt đầu (tiếng việt)

25
HOW TO USE GIT HƯỚNG DẪN SỬ DỤNG GIT CHO NGƯỜI MỚI BẮT ĐẦU

Upload: thanh-bui

Post on 06-Jan-2017

1.042 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

HOWTOUSEGITHƯỚNGDẪN SỬ DỤNG GITCHO NGƯỜIMỚI BẮT ĐẦU

Page 2: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

Thanh BùiKhởi nghiệp, phát triển sản phẩm, growth hacking.

Skype: thanhbuivanFacebook: fb.com/mr.thanhbv

Page 3: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

NHUCẦUTHỰCTẾ

• Cần1hệthốnglưutrữtấtcảcácthayđổivềcodehàngngày.• Đểsaunàycóthểxemlại,hoặcphụchồivềmộtthờiđiểmtrongquákhứ.

• Haicáiđầuthìtốthơn1cáiđầu.• Bấtkỳaiđềucóthểthamgia,nhữngngkháctrongteambiếtchínhxáctừngngđãlàmgì,thayđổigì.

Page 4: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

LỊCHSỬ- 1.LOCALVERSIONCONTROL

• Cácphiênbảnchỉlưutrênmáyngườilàm

• Sửdụnglệnhrcsđểtạoracácphiênbản

• Rấtkhóđểphốihợptrongnhómnhiềungười

• Đãlỗithời&hiệntạikhôngcònaisửdụng

Page 5: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

LỊCHSỬ- 2.CENTRALVERSIONCONTROLSYSTEM

• Lịchsửcácversion,thayđổiđượclưutrữở1server.

• SVNlàhệthốngphổbiếnnhấttheophươngphápnày.

• Vấnđềphátsinh:• Khiserverbịhỏng,mấthếtdữliệu.• Khôngaicộngtácđượcvớinhữngngườicònlại,khônglưuđccácphiênbảnnếukokếtnốiđcđếnmáychủ

• Tốcđộchậm

Page 6: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

LỊCHSỬ- 3.DISTRIBUTEDVERSIONCONTROLSYSTEM

• Giảiquyếtđượchếtcácvấnđềmàcáchệthốngcũhơnmắcphải.

• Cáchệthốngphổbiếnsửdụngphươngphápnày:Git,hg…

Page 7: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

GIỚITHIỆUGIT

• Tốcđộcựcnhanh(Dữliệuđượcnénvàgiảinénởhaiđầutrckhitruyềnđi).

• Kiếntrúcrấtđơngiản,aicũngcóthểhọc&dùngđược.• Phântánhoàntoàn.• Đãđượckiểmnghiệm&sửdụngtronghầuhếtcáccôngty.• Cựcmạnhtrongviệcphânnhánh.

Page 8: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

CÁCHTHỨCGITHOẠTĐỘNG

Page 9: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

BẮTĐẦUSỬDỤNGGIT

Có2cách:• Tạo1repo(khochứa)mớitrênlocal• Saochép1repo(khochứa)từmộtmáykhác(máychủ,bitbucket,github…)

Page 10: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

3CÁCTRẠNGTHÁICỦA1FILETRONGGIT

• Committed:Committedcónghĩalàdữliệuđãđượclưutrữmộtcáchantoàntrongcơsởdữliệu

• Modified:Modifiedcónghĩalàbạnđãthayđổitậptinnhưngchưacommitvàocơsởdữliệu

• Staged:làbạnđãđánhdấusẽcommitphiênbảnhiệntạicủamộttậptinđãchỉnhsửatronglầncommitsắptới

=>ĐiềunàytạorabaphầnriêngbiệtcủamộtdựánsửdụngGit:thưmụcGit,thưmụclàmviệc,vàkhuvựctổchức(stagingarea).

Page 11: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

CÁCTHAOTÁCCƠBẢNTRONGGIT

• gitadd:Thêmmộtfile(modifiedhoặcuntracked)vàolầncommittiếptheo

• gitcommit:Lưucácthayđổivừatạora(bằnglệnhadd)vàokhochứa(repo)trênmáymình

• gitpull=fetch+merge• gitfetch:Kéodữliệutừkhochứatrênserverxuốngkhochứaởmáycủabạn• gitmerge:Mergedữliệu.Mặcđịnhlàmergedữliệutừlầncommitgầnnhấttrênmáy(HEAD)vớidữliệulầncommitmớinhấttrênserver

• gitpush:Đồngbộhóakhochứatrênmáy&khochứatrênserver(bitbucket)• gitlog:Xemlạilịchsửcủa1file/branch

Page 12: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

GITADD&GITCOMMIT

Page 13: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

GITFETCH

Page 14: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

PULL(FETCH+MERGE)

Page 15: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

TRƯỜNGHỢPMERGEMÀBỊCONFLICT

• Việcbịconflictkhimergelàbình thường.Khôngcógìphảilolắng.

• Cẩnthậncheckqualầnlượtcácfilebịconflict,mergethủcôngbằngtay.(Sửdụngcôngcụđểmerge).

• SaukhimergexongthìmarkasresolvedtrongSourceTree.

• Tiếptheolàcommitcácthayđổiđó.

Page 16: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

PHỤCHỒI

• gitcheckout:Lấyvềfiletừbấtkỳcommitnàotronglocalrepo(saukhingdùngsửathìphảitạobranchmới).

• gitreset.Có3kiểu.• hard:Bỏquahếtcácthayđổitrongmáy(xóahếtcáccommittrcđó).Thưmụclàmviệcsẽgiốngnhưthưmụclàmviệcởcommitvừareset.

• mixed:Chỉresetindex,giữlạicácthayđổihiệntại.Cóthểcommitlại.

• soft:Giữlạitấtcả.

Page 17: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

.GITIGNORE

• Trongthưmụclàmviệc,cónhữnggìmàkobiếtgittheodõi,kiểmsoát.Vídụ:cácfiletạm,filelog,tmp...

• =>Cóthểsửdụng.gitignoređểthôngbáochogitbiếtlàkođượctrackcácfilenày.

• .gitignorenằmởthưmụcgốccủadựán

Page 18: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

BRANCH– RẼNHÁNHTRONGGIT

• Nhánhgiúp1dựánđượctổchứctốthơn.

• Cónhiềucáchtổchứcnhánh.Nhưngphổbiếnnhấtlà:• 1nhánhdànhchocácphầncodeđãchạyổnđịnh(master,production)

• 1nhánhdànhchocácphầncodeđangpháttriển(beta,testing)• Cácnhánhtopic:dànhchotừngtask,issue,thậmchílàcácidea,hướngpháttriển.Saukhideveloperhoànthànhsẽmergevàonhánhtesting.Saukhitestxongthìmergetiếpvàonhánhproduction.

Page 19: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

VÍDỤVỀ1SƠĐỒRẼNHÁNHTRONGGIT

Page 20: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

VÍDỤVỀ1DỰÁNCỤTHỂ

- CommitC0làcommitkhởitạodựán.- ĐếncommitC1thìpháthệthốngcólỗi(issue91)- Tạobranchiss91đểxửlýlỗiđó.- TRongquátrìnhxửlýissue91,commitC4thìlại

pháthiệnra1cáchxửlýtốthơn=>tạobranchiss91v2đểpháttriểntheohướngmớitrongkhivẫnduytrìlàmtheocáchcũtrêniss91

- Trongquátrìnhpháttriểndựán,đếncommitC10thìnghĩra1sốidearấthay,nhưngbạnkhôngchắcnócóđccảteamđồngýhaykhông?

Page 21: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

VÍDỤVỀ1DỰÁNCỤTHỂ

- Bâygiờ,giảsửbạnchọncáchgiảiquyếtthứhai(branchiss91v2).Issuelúcnàyđãđượcfixxong.

- Bạntrìnhbàycácýtưởngchođồngnghiệpvàđượchọđồngý(branchdumbidea)

- Lúcnàybạncóthểmergebranchdumbidea&branchiss91v2vàobranchmaster&tiếptụccôngviệcchính.

Page 22: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

GITCLIENT:SOURCETREE,SMARTGIT,TOWER

Page 23: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

WORKFLOW

• Mỗingườicó1branchđểlàmviệcriêng.• Vớinhữngtasklớn,cầncommitnhiềulần,thờigianlàmviệckéodài=>tạoriêngbranchchonó.

• Committhườngxuyên(khôngnhấtthiếtphảipush).Cứxong1function,1phầntínhnăngnàođấythìlạicommit.

• Khixongmộttínhnăngthìmergelạivàobranchmasterđểnhữngngườikháccóthểfetchvề.

Page 24: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

MỘTVÀILƯUÝVỚIUNITY

• ChangeVersionControlMode toVisibleMetaFiles

• ChangeAssetSerializationMode to ForceText

• Chỉ1ngườilàmviệctrên1scenetại1thờiđiểm

• Sửdụngprefabsđểlưugameobjectthaychocácfilescene.

Page 25: Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)

UNITY3DGITIGNORE/[Ll]ibrary//[Tt]emp/

/[Oo]bj//[Bb]uild/#AutogeneratedVS/MDsolutionandprojectfiles

*.csproj*.unityproj

*.sln*.suo*.tmp

*.user*.userprefs

*.pidb*.booproj#Unity3Dgeneratedmetafiles

*.pidb.meta#Unity3DGeneratedFileOnCrashReports

sysinfo.txt