ááźááˇáşááąááąáŹáĄáááşá¸áĄááźá áşááááşá¸ááťáŻááşáážáŻá áá áşáááŻááşááźááşááźááşá¸á . Git áááş áĄáááŻááşá¸áĄáááşáá˝á˛ááźááşá¸áážááˇáş ááąáŤááşá¸á ááşá¸ááźááşá¸áĄááąáŤáş áĄááźáąááśá ááźáąáŹááşá¸áá˝ááşááźááşáá˝ááşáááŻááşááąáŹ áááŻááşá¸áááŻááşááąáŹ áá˝áśáˇááźááŻá¸áááŻá¸áááşááąá¸ááááááŹááťáŹá¸ááᯠááśáˇáááŻá¸ááąá¸áááˇáş áá°ááźááŻááşáĄááťáŹá¸ááŻáśá¸á ááŻáśááźááşá áááşááťáááźáŽá¸ á á˝ááşá¸ááąáŹááşáááşááźááˇáş ááŹá¸áážááşá¸ááááşá¸ááťáŻááşáážáŻá áá áşááťáŹá¸áá˛áážáá áşááŻááźá áşáááşá ááááŻááşá¸á áááŻááşááŹáážáŻáážááˇáş ááąáŹááşááźáąáŹááşá¸ááźááşááźáąáŹááşá¸áá˛áážáŻááťáŹá¸ááᯠááśáááŻááşáááşáážáá áąáááşáĄáá˝ááşá ááááá áşááŻá áŽáá˝ááş ááááşááááŻááşá¸áá áşááŻááŻáśá¸ááᯠáá˝ááşáááŻááşááąáŹáááşá¸ááźááˇáş áá˝á˛ááŻááşááźááşá¸ááᯠáĄááŻáśá¸ááźáŻáááşá áááşá¸áááş áá áşáŚá¸ááťááşá¸á áŽá áááşááťáŹá¸ááᯠáĄáááĄáážááşááźáŻáááşáážááˇáş developer ááťáŹá¸á áá áşááťá áşáááşáááşáážááşááťáŹá¸ááźááˇáş áááááźáŻáááŻááşáááşá
ááááşáá˝ááşáážáááŹá¸áááˇáş ááŹá¸áážááşá¸áĄáá áşáážááˇáş áážááŻááşá¸áážááşááŤá ááŹá¸áážááşá¸áĄáá áşáá˝ááş developer 583 áŚá¸á áá°á¸ááąáŤááşá¸ááŤáááşáážáŻááźááˇáş ááźááşáááşááŹá¸ááąáŹ ááźáąáŹááşá¸áá˛áážáŻ 84 áᯠááŤáááşááźáŽá¸ 32 ááŻáááş ááááŚá¸ááŻáśá¸áĄááźáááş áá˝áśáˇááźááŻá¸áááŻá¸áááşáážáŻáá˝ááş ááŤáááşáá˛áˇáááşá :
- áá
áşá
áááşáá
áşáááŻááşá¸ááŻáśáá°áá˝áŹá¸ááźááşá¸áááźá
áşáááŻááşááźáąáááş áááşááźáááşááźááşá¸áážááˇáş áĄááźááˇáşáĄááĄáááşáááˇáşááźá
áşáááş ááŽá¸áááşááŹááźáŽááźá
áşááźáŽá¸á áááşáááş ááąááŹááĄá
áááşáĄáááŻááşá¸áááŻáᏠáá˝ážá˛ááźáąáŹááşá¸ááźáŽá¸ áááŻáážáąáŹááşáážáŻá áááźááˇáşá
áŻáśááąáŹáááášáá°ááźááˇáş ááŻááşááąáŹááşáááŻááşáááşááźá
áşáááşá ááŻáśáážááş clone áá
áşááŻáááş ááźáąáŹááşá¸áá˛áážáŻáážááşáááşá¸áážá áááŻááşáááŻááşá¸á ááŹá¸áážááşá¸áááŻááşá¸áĄááŤáĄáááş áááŻáážáąáŹááşáážáŻáážááąááŹáĄáŹá¸ááŻáśá¸ááᯠáááášáá°áá°á¸ááŤáááşá áĄáá˝ááşááźáŽá¸ááŹá¸ááąáŹ repositories áĄáá˝ááşá ááąááŹááᯠáá°á¸áá°ááźááşá¸áááş ááąáŹáˇááşáá˛áĄááşááťááşááŽááŹáááş áááŻááşááťáŹá¸á áĄá
áŻáá˝á˛áááŻáᏠá
áááşáááşá
áŹá¸ááťážááşáááş áĄáá˝áŹá¸áĄááŹáážááˇáş disk space ááááááŹááŹáááŻá¸ááŹá
áąáááşá áĄááŻááşáááşá¸ááźá
áşáá
áşáááşá áĄá
áááşáĄáááŻááşá¸áááŻáᏠááźááşáááşááá°áááş áááŻáááŻáá˝ááşáá°á
áąáááşá ááŻááşááąáážáŻáĄáá
áşáá˝ááş á
ááşá¸áááşáᲠ"sparse-checkout" áá˝ážááşááźáŹá¸ááťááşáážááˇáş "clone" áĄááááˇáşáĄáá˝ááş "--sparse" áá˝áąá¸ááťááşáážáŻáĄáá
áşááᯠááááşáááşááąá¸áááşá
ááááşáá áá˝áąá¸ááťááşááŹá¸ááąáŹ ááŻáśáá°áá˝áŹá¸ááźááşá¸ááŻááşáááşá¸á ááşááᯠááŻááşáááşá¸ááŹáááşáĄáŹá¸ááźááˇáş ááŻááşááąáŹááşáá˛áˇáááşá ááááŻáĄááşááąáŹ áĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠá á áşááŻááşáááşáážááˇáş ááťáąáŹááşááŻáśá¸ááąááąáŹ áááŻááşááťáŹá¸ááᯠááźááˇáşáá˝ááşá¸ááźááşá¸ááᯠááááşáááş "âáá˝áąááťáąáážáŻ áááźáŻáááş" áá˝áąá¸ááťááşáážáŻá áááşá¸ááąáŹááşá áá˝áąáážááşá¸ááźááşá¸ááŻááşáááşá¸ááᯠáááŻááşááąáŹááşááŽá core.sparseCheckout áááşáááşáááŻáá˝ááˇáşáááşáážááˇáş .git/info/sparse-checkout áááŻááşáážá áááşááŻááşááŹá¸ááąáŹáááşá¸ááźáąáŹááşá¸ááŻáśá áśááťáŹá¸á áŹáááşá¸ááᯠáááşáážááşáááş áááŻáĄááşááŤáááşá áĽáááŹáĄáŹá¸ááźááˇáşá blobs áááŤáᲠááŻáśáá°áá°á¸áááşáážááˇáş áĄáááş 2 áááŻáˇáááŻááş áááŻáˇáááşáááŻááąáŹ áááŻááşáá˝á˛áá˝á˛ááťáŹá¸ááž áááŻááşááťáŹá¸ááᯠááŻááşáá°ááźááşá¸ááᯠááŹá¸ááŽá¸áááşá áááşáááş ááŻááşááąáŹááşáááŻááşáááş-
git clone --filter=blob:none --no-checkout /your/repository/here repo
$cd repo
$cat >.git/info/sparse-checkout
/*
!/*
EOF
$ git config core.sparseCheckout á
$ git áá˝áąáážááşá¸ááźááşá¸á"git sparse-checkout" áá˝ááşáááşá¸áĄáá áşáááş áĄááŻááşáĄáŹá¸ áĄáá˝ááşáááŻá¸áážááşá¸á áąááźáŽá¸ áĄáąáŹááşá፠command ááťáŹá¸áĄáá˝ááş áááźááˇáşá áŻáśááąáŹ áááŻáážáąáŹááşáážáŻááźááˇáş áĄááŻááşá áŽá ááşááźááşá¸ááŻááşáááşá¸á ááşááᯠááťážáąáŹáˇááťááąá¸áááş-
git clone --filter=blob:none --ááťá˛ /your/repository/here repo
git sparse-checkout áááşáážááş /path/to/check/outsparse-checkout command áááş áááˇáşáĄáŹá¸ .git/info/sparse-checkout ááᯠáááŻááşáááŻááş configure áááźáŻááŻááşáᲠ.git/info/sparse-checkout áĄáá˝ááş áááşá¸ááźáąáŹááşá¸ááťáŹá¸á áŹáááşá¸ááᯠáááşáážááşáááŻááşá áąáááˇáşáĄááźááş áááşáážááááşá¸ááźáąáŹááşá¸ááťáŹá¸ (á áŹáááşá¸) áááŻááźáááźáŽá¸ áá áşá áááşáá áşáááŻááşá¸ áá˝áąááąá¸ááťáąáážáŻááťáŹá¸ááᯠáá˝ááˇáşá፠áááŻáˇáááŻááş ááááşá፠(áá˝ááˇáşá፠/disable)á
áĄáá˝ááşááźáŽá¸ááŹá¸ááąáŹ áááŻáážáąáŹááşááąááŹááťáŹá¸áážááˇáş ááŻáśá áśáááááşááťáŹá¸á áŹáááşá¸ááťáŹá¸ááźááˇáş áĄááŻááşááᯠáĄááąáŹááşá¸ááŻáśá¸ááźá áşáĄáąáŹááş ááŻááşááąáŹááşáááşá"á áá˝ááˇáşááźáŻááŹá¸ááąáŹ ááŻáśá áśááťáŹá¸ááᯠáááˇáşáááşááŹá¸áááˇáş (áááŹá¸ááááş .gitignore ááŻáśá áśááťáŹá¸áĄá áŹá¸á ááąá¸ááŹá¸ááąáŹ áááşá¸ááźáąáŹááşá¸áá˝á˛áá áşááŻáážá áááŻááşáĄáŹá¸ááŻáśá¸áážááˇáş áááŻááşáĄáŹá¸ááŻáśá¸ááᯠá á áşááąá¸áááˇáşáááŹá¸ áááşáážááşáááŻááşáááş)á áĽáááŹáĄáŹá¸ááźááˇáşá áááŻáážáąáŹááşáážáŻááźáŽá¸áá áşááŻáá˝ááş âA/B/Câ áááşá¸áá˝ážááşáá áşááŻáážáááźáŽá¸ áĄááŻááşáĄáŹá¸ááŻáśá¸ááᯠáááşá¸áá˝ážááşááťááşáá˝á˛ âCâ áá˝ááş áĄáŹááŻáśá ááŻááşááŤáá áááŻáˇááąáŹááş sparseCheckoutCone ááŻááşááᯠáááşáá˝ááˇáşááąáŹáĄááŤá áĄááááˇáşáážáŹ âgit sparse-checkout áááşáážááş A/B/ C" áááş "C" ááĄááźáąáŹááşá¸áĄááŹáá áşááŻááŻáśá¸áááŻááŻááşáá°áááşááźá áşááźáŽá¸ "A" áážááˇáş "B" áážáááşá¸áááş "C" áážááˇáşáĄááŻááşááŻááşáááşáááŻáĄááşááąáŹáĄá áááşáĄáááŻááşá¸ááťáŹá¸áááŻááŹááŻááşáá°áááşááźá áşáááşá
- á áŹáá˝ááşá áŹáááşá¸ ("git rebase -h") ááž "--preserve-merges" áá˝áąá¸ááťááşáážáŻáááŻááşáᏠáááŻá¸ááŹá¸ááťááşáĄáŹá¸ááŻáśá¸ááᯠáááşáážáŹá¸áá˛áˇááźáŽá¸á áááşáááŻááşá¸ááŹá¸ááźáŽá¸ áá˝ááşáááˇáşáĄá áŻáĄááąá¸ááᯠáá˝ážáąáˇááźáąáŹááşá¸áááşáĄáá˝ááşáĄá áŹá¸ áĄááŻáśá¸ááźáŻáááˇáşáááşá"á
- á áŹáááŻáˇá áŹáááşá¸ááťáŹá¸áááŻáˇ ááąá¸áááŻáˇáááˇáş ááŹááąá¸áážáŻááťáŹá¸ááŤáážáááąáŹ áááşááąáˇááťáşááťáŹá¸á áááşáážáŻáááŻááşáážáŻááᯠááźážááˇáşáááşáááşá "git ááąáŹáşáááş-ááŹááąá¸âááŹááŹ-ááąáŹáşááźááťááşáĄááźáąáŹááşá¸áĄááŹ" áá˝áąá¸ááťááşáážáŻááᯠáááˇáşáá˝ááşá¸ááŹá¸ááźáŽá¸á áááşáážááşááąáŹáĄááŤá ááŹááá˝á˛ááąáŹáşááźááťááşá áŹááŹá¸ááž áááá áŹáááŻááşááᯠáĄááźáąáŹááşá¸áĄááŹáĄááźá áş áĄááŻáśá¸ááźáŻáááşá ááŹááąá¸áážáŻáĄá áŻáśáĄáá˝ááş ááŹááŹá áŹá
- âgit apply -3wayâ áá˝ážááşááźáŹá¸ááťááşáážááˇáş âmerge.conflictStyleâ áááşáááşááᯠááąáŤááşá¸á ááşáĄááŻáśá¸ááźáŻáážáŻáĄáá˝ááş ááśáˇáááŻá¸áá°ááŽáážáŻááᯠáĄááąáŹááşáĄáááşááąáŹáşáá˛áˇáááş (âgit applyâ áááş ááźááŻá¸á áŹá¸ááźáŽá¸ááąáŹááş áááááášááááŻááźáąáážááşá¸áááş áááŻáĄááşááąáŹáĄááŤáá˝ááş merge.conflictStyle ááž áááááášáááąáŹáşááźááťááşá áááŻááşááᯠáááˇáşáá˝ááşá¸á ááşá¸á áŹá¸ááŤáááşá repository áá˝ááş patch áááŻááşáááŻáĄááŻáśá¸ááźáŻáááşá)
- "git diff/grep --show-function/-function-context" áá˛áˇáááŻáˇááąáŹ ááŻááşááąáŹááşááťááşááťáŹá¸áá˝ááş áĄááŻáśá¸ááźáŻáááˇáş ááŻááşááąáŹááşááťááş áĄáááášááŤááşááŻááşááᯠááŹááŹá ááŹá¸ááááŻááááşááťáŹá¸áá˝ááş ááŻááşááąáŹááşááťááşáááşááááááşááťáŹá¸ áááşáážááşááźááşá¸ááᯠááśáˇáááŻá¸áááşáĄáá˝ááş áááŻá¸ááťá˛áˇááŹá¸ááŤáááşá .
- "git add", "git commit", "git reset" áážááˇáş áĄááźáŹá¸ commands ááťáŹá¸ - "-pathspec-from-file" áá˝ááş áá˝áąá¸ááťááşáá˝ááˇáşáĄáá áşááᯠáááŻááşáá áşáᯠáááŻáˇáááŻááş áĄáááşáááşá¸ááźáąáŹááşá¸ááťáŹá¸ááž áááşá¸ááźáąáŹááşá¸ááťáŹá¸á áŹáááşá¸ááᯠáááşáááŻááşá áąáááş áááşá¸áááŻáˇááᯠcommand line áá˝ááşá áŹáááşá¸áá˝ááşá¸áááˇáşáĄá áŹá¸á
- áá˝ááşáááˇáşááťáŹá¸ááąá¸ááŹá¸ááźááşá¸áĄáŹá¸ ááźáąáážááşá¸ááźáŽá¸ááąáŹáĄá፠áááşá¸áá˝ážááşáĄáááˇáşáá˝ááş áĄáááşááźáąáŹááşá¸ááźááşá¸ááᯠááąáŹáşááŻááşááźááşá¸áááŻááşáᏠááźáżááŹá áááŻááşáááşáá˝á˛áá áşááŻá áĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠáááŻáážáąáŹááşáážáŻá áĄááźá áşáááŻáˇ áá˝ážáąáˇááŤá áĄáááášááŤááşáá˝ááˇáşáááŻááťááşáááş áĄááŻááşáááźá áşááŤá
- ááźáąáŹááşá¸áá˛ááŹá¸ááąáŹáĄááźáąáŹááşá¸áĄááŹááᯠPerl ááž C áááŻáˇ ááźááşáááşááąá¸ááŹá¸áááŻááşá áąáááˇáş ááźáąáŹááşá¸áá˛ááŹá¸ááąáŹáĄááźáąáŹááşá¸áĄááŹááᯠáĄááźááşáĄáážááşáĄááťááŻá¸áááşááąáŹááşá á˝áŹáááˇáşáá˝ááşá¸áááŻááşá áąáááˇáş âgit add -iâ command ááᯠááźááşáááşááŽáááŻááşá¸ááąá¸áá˝á˛ááŹá¸ááąáŹ âgit add -iâ á áááŚá¸áĄááąáŹááşáĄáááşááąáŹáşáážáŻááᯠáĄáááŻááźáŻááŹá¸ááŤáááşá âgit add -pâ command á áĄááŹá¸áá°ááźááşáááşááŻááşááąáŹááşáážáŻááᯠááŻááşááąáŹááşááąááŤáááşá
- âgit log âgraphâ áá˝ážááşááźáŹá¸ááťááşááᯠááźááşáááşááźáŻááźááşááźáŽá¸ áááŻáážáąáŹááşááŹáážá áĄááźáąáŹááşá¸áĄáá˛ááťáŹá¸á ááááŻááşá¸ááźáąáŹááşá¸áážááˇáşáĄáá° ááááşáá áşááŻá ASCII ááŻáśáá áşááŻááᯠáááşááŽá¸ááąá¸áá˛áˇáááşá ááźááşáááşááźáŻááźááşááźááşá¸áááş ááŹááşáááşá¸ááá˝á˛áˇá ááşá¸ááŻáśáĄáŹá¸ ááááááŻááşá áąáᲠáĄáá˝ááşááᯠááááááŹááŹáááŻá¸áááşá áąááźáŽá¸ áááŻá¸áážááşá¸áĄáąáŹááşááźáŻááŻááşáááŻááşá áąáᏠáĽáááŹáĄáŹá¸ááźááˇáşá terminal áááŻááşá¸áĄááťááşáááŻááťáąáŹáşáá˝ááşá ááŻááşááŻáśááŤááźáżááŹááᯠááźáąáážááşá¸ááąá¸ááŤáááşá
- "git log --format=.." option áááş áááˇáşáĄáŹá¸ output format áááŻááźáąáŹááşá¸áá˛áááşáá˝ááˇáşááźáŻáááşá
â@â áááşášááąááážáąáˇáá˝ááş ááąáŹáşááźááŹá¸áááˇáş áĄáŽá¸ááąá¸ááşááááşá áŹá áá áşá áááşáá áşáááŻááşá¸áááŻáᏠááźááááş âl/Lâ áĄááśááťáŹá¸áĄáá˝ááş ááśáˇáááŻá¸áážáŻááźááˇáş áááŻá¸ááťá˛áˇááŹá¸áááş (áĽáááŹá ááąáŹáˇááşáá˛ááąá¸ááŹá¸áá°áĄáŹá¸ááŻáśá¸áááş áááŻááááşá¸áá áşááŻáááşá¸áá˝ááş áĄáŽá¸ááąá¸ááşááťáŹá¸áĄáŹá¸ááŻáśá¸áážááááˇáşáĄá፠áĄááŻáśá¸áááşáááş)á - "git submodule" command áááŻáˇ "set-url" subcommand áááŻáááşáááˇáşáá˛áˇáááşá
- áĄáá°á¸áĄááźáąáŹááşá¸áĄáá˝ááş ááźááşáááşáážáŻááťáŹá¸áĄáá˝ááş á
ááşá¸áááşááááááŹááťáŹá¸ááᯠáá˝ááşá¸ááśááźááşáááşááŹá¸ááŤáááşá
SHA-2 áĄá áŹá¸ SHA-1 ááᯠhashing algorithm
source: opennet.ru
