ááźááˇáşááąááŹá¸ááąáŹ source code á áŽááśáááˇáşáá˝á˛áážáŻá áá áş Git 2.56 ááᯠááŻááşááźááşáááŻááşááŤááźáŽá Git ááᯠGPLv2+ áááŻááşá ááşáĄáąáŹááşáá˝ááş áááŻááşá ááşááťááŹá¸ááąá¸ááŹá¸ááŤáááşá ááááşááŻááşááźááşáážáŻáážááˇáş áážááŻááşá¸áážááşááŤá ááŹá¸áážááşá¸áĄáá áşáá˝ááş developer ááá áŚá¸ááž ááźááşáááşááŹá¸ááąáŹ ááźáąáŹááşá¸áá˛áážáŻ ááá áᯠááŤáááşááźáŽá¸ áááşá¸áááŻáˇáĄáááş áá áŚá¸áážáŹ Git áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻáá˝ááş áĄáá áşááźá áşáááşá áĄááááĄááşášááŤáááşáĄáá áşááťáŹá¸ (áá áá á):
- "git add --resolved" ááŻááşááᯠbranch ááťáŹá¸ ááąáŤááşá¸á ááşá¸áááˇáşáĄá፠áááááášáááťáŹá¸ááᯠááźáąáážááşá¸áááşáĄáá˝ááş áááˇáşáá˝ááşá¸ááŹá¸áááşá á¤ááŻááşáááş áááŻááşááťáŹá¸ááᯠáááááášááĄáážááşáĄááŹá¸ááťáŹá¸ áážáááážá á á áşááąá¸ááźáŽá¸ áĄáááşá¸ááŻáśá¸ áááŻááşáá áşááŻáá˝ááş áĄáážááşáĄááŹá¸áá áşááŻááᯠáá˝áąáˇáážáááŤá áĄáážáŹá¸áá áşááŻááᯠááźááşááąá¸áááşá áááşáááˇáşáááŻááşáááŻááťáž index áááŻááşááŤá ááźááşáááşáááş áááŻáĄááşááąáŹ áááŻááşááťáŹá¸á áŹáááşá¸ááᯠááźááááşá "git add --update" command áážááˇáşááá°áá˛á á¤ááŻááşáĄáá áşáááş áááááášááĄááźáąáĄááąáá˝ááşáážáááąáŹ áááŻááşááťáŹá¸áááŻáᏠááŻááşááąáŹááşááźáŽá¸ áááááášááážááˇáş ááááşáááŻááşááąáŹ ááźáąáŹááşá¸áá˛ááŹá¸ááąáŹ áááŻááşááťáŹá¸ááᯠááťá áşááťá°áážáŻáááşá áááşá¸áááş working directory áá˝ááş áááźáŽá¸ááźááşááąá¸ááąáŹ áĄááźáŹá¸áááşá¸ááźááşáážáŻááťáŹá¸ áážáááąáááˇáşáááŻááş branch merge ááťáŹá¸ááᯠááąá¸áááşá¸á á˝áŹ ááźáŽá¸ááźáąáŹááşá áąáááŻááşáááş ("git add --update" command áááş working directory áážá ááááşá ááźáąááŹááśááŹá¸ááąáŹ ááźáąáŹááşá¸áá˛ááŹá¸ááąáŹ áááŻááşáĄáŹá¸ááŻáśá¸ááᯠindex áá˛áááŻáˇ áááˇáşáá˝ááşá¸áááş)á
- branch ááťáŹá¸ááᯠááąáŤááşá¸á ááşá¸ááźááşá¸áážááˇáş commit ááťáŹá¸ááᯠáážááŻááşá¸áážááşáááˇáşáĄá፠áááźáŹááąá¸ááŽá áĄááźá áşááťáŹá¸ááąáŹ commit ááťáŹá¸ááᯠáážáŹáá˝áąááźááşá¸áĄáá˝ááş algorithm ááᯠáĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááş ááźáŻááŻááşááźááşá¸ááźááˇáş repositories ááźáŽá¸ááťáŹá¸áážááˇáş áĄááŻááşááŻááşááźááşá¸ááᯠááááááŹáᏠááźááşáááşá áąáá˛áˇáááşá áááŻáĄá፠ááŻááşáááşá¸á ááşáááş branch áá áşááŻáážááˇáşáᏠáááşáááŻááşááąáŹ commit ááťáŹá¸ááᯠáááˇáşáá˝ááşá¸á ááşá¸á áŹá¸ááźáŽá¸ ááźáąáŹááşá¸áá˛áážáŻáážááşáááşá¸ááᯠááąáŹááşáááşááźááşáááşá¸ááŹáá˝ááş áĄááťáááşáááźáŻááşá¸ááŽá¸áᲠááźá áşáááŻááşááťáąáážáááąáŹ common ancestor áĄáŹá¸ááŻáśá¸ááᯠáážáŹáá˝áąáá˝áąáˇáážáááźáŽá¸ááąáŹááş scan ááᯠááťááşááťááşá¸áááşáááˇáşáááŻááşá áąááŤáááşá á ááşá¸áááşááŹá¸ááąáŹ repository áá áşááŻáá˝ááş áážáŹáá˝áąáážáŻáĄááźááşáážáŻááşá¸áááş ááťááşá¸ááťáž áá á áááŻá¸ááŹááźáŽá¸ áĄááźáŹá¸áá áşááŻáá˝ááş áĄááźááşáážáŻááşá¸ áá á ááąáŹááşáážááá˛áˇáááşá kernel ááŤáážáááąáŹ repository áá˝ááş "git merge-base --all v4.8 v4.9" command ááᯠááŻááşááąáŹááşááąáŹáĄá፠Linux ááźááşáááşá¸áá˝áŹá¸ááŹáááˇáş ááźáąáážááşá¸áĄááąáĄáá˝ááşáááş áááááá ááž á.áááá áĄáá ááťáąáŹáˇááťáá˝áŹá¸áá˛áˇáááşá
- "--path-walk" ááźááşáááşááŻááşáááŻá¸áážáŻááŻááşááᯠááŹááŹáĄááŻáśá¸ááźáŻáááşáĄáá˝ááş áááŻááşááťáąáŹááŽáá˝áąááźá áşáĄáąáŹááş ááźáŻááŻááşááŹá¸ááźáŽá¸á directory tree áá˝ááş object ááťáŹá¸ááᯠáááşá¸áááŻáˇááááşá¸ááźáąáŹááşá¸ááźááˇáş áĄáŻááşá áŻáá˝á˛áˇááźááşá¸ááźááˇáş áááŻáááŻááťá áşááťá áşááąáŹ pack áááŻááşááťáŹá¸ áááşááŽá¸áááŻááşá áąááŤáááş (áĽáááŹá Fluent UI repository áĄáá˝ááş "--path-walk" áááŻáĄááŻáśá¸ááźáŻááźááşá¸áááş pack áááŻááşáĄáá˝ááşáĄá áŹá¸ááᯠ558 MB ááž 164 MB áááŻáˇ ááťážáąáŹáˇááťááąá¸áááş)á ááŹá¸áážááşá¸áĄáá áşáááş reachability bitmaps áážááˇáş delta islands ááťáŹá¸áážááˇáşáĄáá° "--path-walk" ááŻááşááᯠáĄááŻáśá¸ááźáŻááźááşá¸ááᯠááśáˇáááŻá¸ááąá¸ááźáŽá¸ Git hosting áááşááąáŹááşáážáŻááťáŹá¸ááž áĄááŻááşááťáŹá¸ááᯠááźááşáááşá áąáááşáážááˇáş main repository ááž forks ááťáŹá¸ááᯠáá˝á˛ááŻááşáááş áĄááŻáśá¸ááźáŻááŤáááşá
- ááźáŽá¸ááŹá¸ááąáŹ repositories ááťáŹá¸áá˝ááş ááááŻáĄááşááąáŹ áá˝ááşááťááşáážáŻááťáŹá¸ááᯠááźá áşá áąááąáŹ ááááşáááŻáˇáážáŻááťáŹá¸ááᯠáááşáážáŹá¸áááŻááşááŤááźáŽ- reftable áááŻáˇ ááąá¸ááŹá¸áááˇáşáĄá፠ááááŻáĄááşááąáŹ áááŻááşáĄááźáąáĄááąá á áşááąá¸áážáŻááťáŹá¸ááᯠáááşáážáŹá¸áááŻááşááŤááźáŽá packfile áááˇáşáá˝ááşá¸áážáŻáĄáá áşáááŻááşá¸áĄáá˝ááş á áŹáááşá¸ááᯠááźááşáááşá áááşáááşááźááşá¸ááᯠáááşáážáŹá¸áááŻááşááŤááźáŽá á áŻááąáŹááşá¸ááŹá¸ááąáŹ ááťááşááźááşá¸áážááşáááşá¸ááťáŹá¸á á˝áŹááŤáááˇáş reftable ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠáĄáážáááşááźážááˇáşáááŻááşááŤááźáŽá áááŻááşáááşá¸ááźáąáŹááşá¸áááˇáşáááşááťááşááťáŹá¸ááᯠáááşáážááşáááˇáşáĄá፠git diff á á˝ááşá¸ááąáŹááşáááşááᯠáĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááş ááźáŻááŻááşááŹá¸ááŤáááşá á¤áĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááşááźáŻááŻááşáážáŻááťáŹá¸ááźáŽá¸ááąáŹááşá ááťááşááźááşá¸áĄááťáŹá¸áĄááźáŹá¸ááŤáááˇáş reftable ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠáá á (áá á áášáááˇáşááž á.á á áášáááˇáşáĄáá) áĄáážáááşááźážááˇáşáááŻááşááŤááźáŽá áĄáá˝ážááşá¸áá˝ááş áĄáᏠá áá,ááá ááŤáááˇáş Chromium repository áážá ááźáżááŹáážáááąáŹ git diff command áááş áááŻáĄá፠á áááá áşáĄá áŹá¸ á.áá á áášáááˇáşááźáŹááŤáááşá
- ááźáąáŹááşá¸áá˛áážáŻááťáŹá¸á áážááşáááşá¸ááᯠááźááşáááşááąá¸ááŹá¸áááŻááşá á˝ááşá¸ááᯠááąá¸á á˝ááşá¸áááˇáş á ááşá¸áááşáᲠ"git history" command ááᯠáá˝áąá¸ááťááşááŹá¸ááąáŹ commit ááᯠáááşáážáŹá¸ááźáŽá¸ áááşá¸á áááşá¸áááşááŹáážáŻááťáŹá¸ááᯠparent commit áážááˇáş áĄáááŻáĄááťáąáŹááş ááťáááşáááşááąá¸áááˇáş "git history drop" ááŻááşááąáŹááşááťááşááźááˇáş áĄááşááááşááŻááşááŹá¸áááşá
- ááźááşá repository áá áşááŻáááŻáˇ ááźáąáŹááşá¸áá˛áážáŻááťáŹá¸ ááąá¸áááŻáˇááźáŽá¸ááąáŹ local branch áĄáŻááşá áŻááťáŹá¸ááᯠááŻáśááźáŻáśá á˝áŹ ááťááşáááşáĄáá˝ááş "git branch --delete-merged 'origin/*' 'topic-*'" command ááᯠáááˇáşáá˝ááşá¸ááŹá¸áááşá branch ááťáŹá¸áážááˇáş repositories ááťáŹá¸ááᯠfilter ááŻááşáááş wildcard ááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻáááŻááşáááşá "--dry-run" flag ááᯠoperation ááᯠáĄáážááşááááş áááŻááşááąáŹááşáᲠááťááşáááş candidates ááťáŹá¸ááᯠáá˝á˛ááźááşá¸á áááşááźáŹáááş áĄááŻáśá¸ááźáŻáááŻááşáááşá
- ref ááťáŹá¸ áááşááŽá¸ááźááşá¸á ááťááşááźááşá¸á áĄáááşááźáąáŹááşá¸ááźááşá¸áážááˇáş áĄááşááááşááŻááşááźááşá¸áĄáá˝ááş áĄáááˇáşááááˇáşááŻááşááąáŹááşááťááşááťáŹá¸ááᯠááąáŤááşá¸á ááşááŹá¸áááˇáş "git refs create|update|delete|rename" command ááᯠáááˇáşáá˝ááşá¸ááŹá¸áááşá
- "git bisect run" command áážáŹ áĄááŻáááŻáááş "--reset-when-found=[ option" ááŤáááşááŹááŤááźáŽá ]", áááş áážáŹáá˝áąáážáŻáá áááşáᎠrepository ááᯠáĄáááŻáĄááťáąáŹááş áĄááźáąáĄááąáááŻáˇ ááźááşááąá¸áááş áááŻáˇáááŻááş "git bisect reset" command ááᯠááŽá¸ááźáŹá¸á Ꭰrun á ááŹááááŻáᲠááźáżááŹáážáááąáŹ commit ááᯠactive ááŹá¸áá˛áˇááąá¸áááşá
- 'git replay' command áá˝ááş áááŻáĄá፠'--linearize' flag ááŤáážáááźáŽá¸ 'git rebase --no-rebase-merges' áážááˇáşáááşáá°ááąáŹáşáááşá¸ working tree áááŻáááşááąáŹááşááźááşá¸ááážááᲠflat merge topology áááŻáĄááŻáśá¸ááźáŻáááşááźá áşáááşá
- "git log --follow" command áááş áááŻáĄá፠non-linear commit history ááťáŹá¸áá˝ááş file renames ááťáŹá¸ááᯠááźáąááŹááśáááşá áĽááᏠsubbranch ááťáŹá¸ááᯠmerge ááŻááşáááˇáşáĄááŤáá˝ááşááźá áşáááşá áááŻáĄá፠parent commit áá áşááŻááťááşá¸á áŽáĄáá˝ááş file path ááᯠááŽá¸ááźáŹá¸áážááşáááşá¸áááşááŹá¸ááźáŽá¸á commit history ááᯠááźááşáááşá¸áááˇáş áĄá áŽáĄá ááşáážááˇáş ááááşáááŻááşááŤá
- áááşáážááĄáá˝ážááşá¸áá˝ááş áĄááŻáśá¸áááźáŻááąáŹ ááźááşá repository ááž áááŻáĄááşáááᯠááąáŤááşá¸ááŻááşááŻááşááŹá¸ááąáŹ blob ááźáŽá¸ááťáŹá¸ááᯠáááşáážáŹá¸áááş "git repack -a --filter=blob:limit=1m --drop-filtered" command ááᯠáĄááŻáśá¸ááźáŻáááŻááşáážáŻááᯠáááˇáşáá˝ááşá¸ááŹá¸áááşá ᤠobject ááťáŹá¸ááᯠááąáŹááşáá˝ááş áááşááąáŹááşááźááˇáşáážáŻáááˇáşáĄá፠áĄáááŻáĄááťáąáŹááş ááźááşáááşááąáŤááşá¸ááŻááşááŻááşááŤáááşá
- áĄááźá áşááťáŹá¸á á˝áŹ ááŽá¸ááźáŹá¸á áŽáážáááąáŹ ááááşááťáŹá¸áĄáá˝ááş "git log --graph" command áááş áááŻáĄá፠ááááşáááŻááşááąáŹ commit ááťáŹá¸ááᯠáážááşá¸áážááşá¸áááşá¸áááşá¸ áá˝á˛ááźáŹá¸ááŹá¸áááş indentation ááᯠáááˇáşáá˝ááşá¸ááąá¸ááŤáááşá
- "git push origin main" áĄá áŹá¸ "git push origin/main" ááᯠáááşáážááşááźááşá¸ áááŻáˇáááŻááş "git branch --set-upstream-to=origin/main" áĄá áŹá¸ "git branch --set-upstream-to origin main" ááᯠáááşáážááşááźááşá¸áá˛áˇáááŻáˇááąáŹ áĄááźá áşááťáŹá¸ááąáŹ á áŹááŻáśá¸ááąáŤááşá¸áĄáážáŹá¸ááťáŹá¸ááᯠáááŻáĄá፠áážáŹáá˝áąáá˝áąáˇáážáááźáŽá¸ áážááşáááşááąáŹ ááťááŻá¸áá˝á˛ááᯠáááşáááŻáˇáĄááŻáśá¸ááźáŻááááşááᯠáĄááááşáĄááźá˝ááşááźáááŹá¸ááŤáááşá
source: opennet.ru
