Atravè lemond, Git se sistèm kontwòl vèsyon ki pi itilize (VCS) pou siveyans ak kontwòl pwojè. Li ofri tou yon anviwònman travay gaye ak kolaborasyon, ankouraje koperasyon.
Branching se youn nan karakteristik ki pi esansyèl Git, paske li pèmèt ou kreye yon kanal separe pou yon seri chanjman espesifik, tankou yon patch ensèk, devlopman nouvo karakteristik, oswa eksperimantasyon, san yo pa afekte branch prensipal la.
An konparezon ak lòt operasyon Git, branche se yon metòd trè senp. Li pèmèt ou devye de baz kòd orijinal la.
Branching pèmèt ou kolabore ak lòt devlopè pi vit epi li bay ou anpil libète nan workflow ou. Li pèmèt ou tou travay sou yon nouvo karakteristik san yo pa afekte rès kodbaz la.
Mekanis nan branch Git pèmèt pou etablisman an nan nouvo branch andedan yon pwojè.
Lè sa a, branch adisyonèl sa yo ka itilize pou teste chanjman kòd san yo pa entèfere ak kòd pwojè prensipal la. Si ajisteman yo gen siksè, branch lan ka fizyone tounen nan branch prensipal la.
Sepandan, gen kèk fwa lè ou bezwen efase yon branch Git lokalman, men se pa adistans. Li kontinye pou chèche konnen ki jan fè li.
Ki sa ki Git Branch?
Git ka swiv plizyè liy travay gras a branch. Sa a pèmèt ou travay sou plizyè vèsyon pwojè ou an ansanm.
Anpil pwojè pral kenbe yon branch mèt ki estab pandan y ap ajoute nouvo karakteristik oswa repare ensèk sou yon devlopman oswa yon branch tès.
Lè Manadjè Pwojè yo sèten chanjman ki fèt nan branch Dev la satisfè kritè yo, yo ka rantre modifikasyon sa yo nan branch mèt la. Pou sèten pwojè ki pi gwo, sik sa a souvan repete endefiniman.
Travay ak branch devlopman Git se yon apwòch bèl bagay pou travay ak pwogram nou an pandan y ap kenbe tras de vèsyon li yo. Yon branch devlopman, an jeneral, se yon fann nan eta a nan kòd ki etabli yon nouvo wout pou avansman li.
Li ka kouri nan paralèl ak lòt branch Git, ou ka kreye. Li posib pou ajoute nouvo karakteristik nan kòd nou an nan yon fason òganize ak egzat.
Poukisa ak ki lè li bezwen efase?
Li se pratik antretyen tipik efase branch Git lè yo pa itilize ankò, byenke sa a pa toujou inivèsèl oswa konprann.
Poukisa ou ta dwe retire branch Git demode nan depo ou a? Gen de rezon debaz pou sa:
- Yo pa nesesè. Pifò branch, patikilyèman sa yo ki konekte nan yon demann rale ki te finalman apwouve, pa gen okenn fonksyon.
- Yo se yon sous konfizyon. Yo pa ajoute sou tèt gwo teknolojik, men yo fè travay ak lis branch nan depo a pi difisil pou moun.
Branch yo ka efase san danje san yo pa pè pèdi nenpòt modifikasyon.
Konsidere senaryo sa a: yon branch patch-1 pral fizyone ak branch mèt la atravè yon demann rale. Anvan fizyone, mèt ak patch-1, chak pwen nan revizyon diferan nan istwa komèt git la.
Apre fizyon an (si yo ajoute yon nouvo komèt fizyon), master ak patch-1 tou de konekte ak nouvo komèt fizyon an. Nan pwen sa a, demann rale a fini, epi tout pouse nan lavni yo ta dwe soumèt bay mèt olye ke patch-1.
Lokal vs Remote Branch nan Git
Remote Branch - Li sitiye sou yon sistèm separe, jeneralman yon sèvè ke devlopè yo ka jwenn aksè. Lè yo efase yon branch aleka, li efase pou tout itilizatè yo.
Branch lokal - Sou sistèm lokal la, yon branch lokal sove. Suppression yon branch lokal pa gen okenn efè sou yon branch byen lwen.
Ki jan yo efase branch lokalman?
Li p ap pèmèt ou retire branch ou ap travay kounye a, kidonk asire w ke ou tcheke yon branch ke w pa efase. Ann kòmanse pa chèche konnen ki jan yo retire yon branch lokal.
- Pou kòmanse, kouri (git branch -a) kòmandman an pou wè tout branch (tou de lokal ak aleka).
- Lè sa a, lè l sèvi avèk (git branch -d) kòmandman an, ki te swiv pa non branch ou vle retire a, ou ka efase li.
Si w eseye retire yon branch ak modifikasyon dekonekte, mesaj erè sa a ap parèt:
Kòm mesaj ki anwo a endike, pou fòse efase yon branch, sèvi ak opsyon -D a, ki se yon chemen kout pou —efase — fòs.
Tanpri sonje ke si w efase yon branch ki pa fusionné, sa pral lakòz pèt tout modifikasyon nan branch sa a.
Si w eseye efase branch aktyèl la, w ap wè mesaj sa a:
Ou pa ka retire branch ou ye a kounye a. Chanje nan yon lòt branch an premye, apresa retire non branch lan:
Dezavantaj nan efase yon branch
Yon dezavantaj posib pou efase branch yo se ke nenpòt lyen ki mennen nan kote branch lan pral kase (nan GitHub, elatriye).
Mwen pa janm gen lyen pèmanan ki mennen nan branch ki pa prensipal, epi si mwen te vle konekte ak nenpòt travay sou yon branch patikilye, mwen ta gen anpil chans fè li apre li te tounen yon demann rale (nan ka sa a mwen ta konekte ak la. Rale-Demann).
Final Mo
Konnen kijan pou itilize branch devlopman yo vin kritik pou kreye aplikasyon w lan nan yon fason sistematik. Pran swen estrikti kòd ou a nan divès branch.
Si, nan nenpòt pwen, ou pa sèten nan yon operasyon konplike, li toujou yon bon lide li Dokiman ofisyèl Git la sou branch yo.
Kite yon Reply