ááááºááœááºááŸááá¬ážááá·áº áá¬ážááŸááºážá¡áá
áºááŸáá·áº ááŸáá¯ááºážááŸááºáá«á áá¬ážááŸááºážá¡áá
áºááœáẠdeveloper 504 áŠážá áá°ážáá±á«ááºážáá«áááºááŸá¯ááŒáá·áº ááŒááºáááºáá¬ážáá±á¬ ááŒá±á¬ááºážáá²ááŸá¯ 64 áᯠáá«áááºááŒá®áž 12 áá¯ááẠááááŠážáá¯á¶ážá¡ááŒááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœáẠáá«áááºáá²á·áááºá
- áá°áááºážááᯠááŒá±á¬ááºážáá¬ážáááºá
áá¯ááááá¬ážááŸááºáž client ááẠGit áá¬áá¬ááá¯á· á¡áá±ážá០áá»áááºáááºáá±á¬á¡áá«ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº Git áááºááœááºáá±áž áááá¯ááá¯áá±á¬á áááá¯ááá¯áá±á¬á áá¯ááááá¬ážááŸááºážááẠáá¬áá¬áááºááŸá á¡ááá¯ááºážá¡áááºáá»á¬ážááŸáá·áº áááºáá»á¬ážááᯠá á áºáá¯ááºááá¯ááºá áœááºážááŸáááŒá®áž áá¯á¶ážá áœá²áá°áᶠá¡ááá¯áá»á¯á¶ážáá¬ážáá±á¬ ááá·áºááºáá»á¬ážá á¬áááºážááᯠááŒááºáá±ážááá·áºá¡ááœáẠááŸááºáá¬ážááœááºááŒá áºáááºá ááááºáá áááºááá·áº pull command áááᯠclient ááẠrepository áá áºáá¯áá¯á¶ážááŸá á¡ááá¯ážá¡áá¬ážáá»á¬ážá á¬áááºážá¡ááŒáá·áºá¡á á¯á¶ááᯠclient ááẠáá¬áááœá²áá áºáá¯á០update áá¯ááºáá±áá»ááẠááá¯á·ááá¯áẠáááºážááá¯á·á repository á áááá¹áá°ááẠáá±ááºáá®ááŒá±á¬ááºáž á á áºáá±ážáá±áá»áááºááœááºáááºá áá±á¬ááºááẠáááºááŸá¬ážáá±á¬ áááºážáá áºáá®ááœááºááŸá¯ááẠtoolkit ááœáẠáá¯ááºáá±á¬ááºááá¯ááºá áœááºážá¡áá áºáá»á¬áž áááŸááá¬áá±á¬ááŒá±á¬áá·áº áááá¯ááá¯áá±á¬ááœáẠá áœááºážáááºá¡áá áºáá»á¬ážááᯠáá±á«ááºážááá·áºááá¯ááºááŸá¯ááŒá áºáááºá áá¯á¶ážá áœá²áá°áá¯ááºááẠáááá¯ááá¯áá±á¬á¡áá±á¬ááºážááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž áá¬áá¬ááẠáá¯ááááá¬ážááŸááºážááᯠááá¶á·ááá¯ážáá«á ááááá¬ážááŸááºážááá¯á· á¡ááá¯á¡áá»á±á¬ááºááŒááºáá»ááœá¬ážááá·áº áá¬áá¬á¡áá áºááŸáá·áº áá¬áá¬á¡áá±á¬ááºážááŸá áºáá¯áá¯á¶ážááŸáá·áº áááºáááºá¡áá¯ááºáá¯ááºááá¯ááºáááºá - "-show-scope" option ááᯠ"git config" command ááœááºááá·áºááœááºážáá¬ážááŒá®ážá á¡áá»áá¯á·áá±á¬áááºáááºáá»á¬ážááá¯áááºááŸááºáá¬ážááá·áºáá±áá¬ááá¯ááœá²ááŒá¬ážáááºááŸááºáááºááá¯ááá¯ááœááºáá°á
á±áááºá Git ááẠááá·áºá¡á¬áž áá±áá¬á¡áá»áá¯ážáá»áá¯ážááœáẠáááºáááºáá»á¬ážááᯠáááºááŸááºááœáá·áºááŒá¯áááº- ááá¯ááŸá±á¬ááºááŸá¯ (.git/info/config) ááœááºá á¡áá¯á¶ážááŒá¯áá°áááºážááœáŸáẠ(~/.gitconfig)á á
áá
áºáá
áºáá¯áá¯á¶ážááœá²á·á
ááºážáá¯á¶ááá¯áẠ(/etc/gitconfig)á ááŸáá·áº command ááŸáááá·áº ááá¯ááºážááœá±ážáá»ááºááŸá¯áá»á¬ážááŸáá·áº áááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá "git config" ááá¯áá¯ááºáá±á¬ááºáá±á¬á¡áá«á ááá¯áá»ááºáá±á¬ setting ááá¯á¡ááá¡áá»áááºááŸááºáá¬ážáááºááá¯áá¬ážáááºáááºá¡áá±á¬áºáá±ážáááºáá²áááºá á€ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºá "--show-origin" ááœá±ážáá»ááºááœáá·áºááᯠáááá¯ááºáá±á¬áºáááºáž áááºážááẠááá¯ááºááᯠáááºážááŒááºááẠáááºááœááºáá¬ážáá»áŸáẠá¡áá¯á¶ážáááºáááºá áááºážááẠááá¯ááºááᯠáááºážááŒááºááẠáááºááœááºáá¬ážáá±á¬áºáááºáž áááºáááºáááºááŸááºáá¬ážááá·áº ááá¯ááºáá®ááá¯á· áááºážááŒá±á¬ááºážááá¯áᬠááŒááá¬ážáááºá ááœá±ážáá»ááºááŸá¯áá»á¬áž "--system", "--global" ááá¯á·ááá¯áẠ"-local" ááá¯á¡áá¯á¶ážááŒá¯á "git config" ááŸáááá·áºáááºááá¯ážááá¯ááŒá±á¬ááºážáá²áááºááá¯á¡ááºáááºá ááœá±ážáá»ááºááŸá¯á¡áá
Ạ"--show-scope" ááẠááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºááᯠááŒáááŒá®áž -show-origin ááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááº-
$ git --list --show-scope --show-origin
ááá¹áá¬áá¯á¶ážááá¯ááºáá¬ááá¯ááº:/home/user/.gitconfig diff.interhunkcontext=1
global file:/home/user/.gitconfig push.default=current
[âŠ] local file:.git/config branch.master.remote=origin
áá±áááœááºážááá¯ááº:.git/config branch.master.merge=refs/heads/master$ git config --show-scope --get-regexp 'diff.*'
global diff.statgraphwidth áá
local diff.colormoved ááœááºááŒááº$ git config --global --unset diff.statgraphwidth
- binding áááºáááºáá»á¬ážááœááº
á¡áá±á¬ááºá¡áá¬ážáá»á¬áž URL áá»á¬ážááœáẠáá»ááºááŸá¬áá¯á¶ážáá»á¬áž á¡áá¯á¶ážááŒá¯ááŒááºážááᯠááœáá·áºááŒá¯áá¬ážáááºá Git ááŸá HTTP áááºáááºáá»á¬ážááŸáá·áº á¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠáá»áááºáááºááŸá¯á¡á¬ážáá¯á¶áž (http.extraHeaderá credential.helper) ááŸáá·áº URL á¡ááŒá±áá¶áá»áááºáááºááŸá¯áá»á¬áž (credential.https://example.com.helperá credential.https://exampleá com.helper)á ááá¯á¡áá»áááºá¡ááá *.example.com áá²á·ááá¯á·áá±á¬ áááºá¹áá±ááá»á¬ážááᯠHTTP áááºáááºáá»á¬ážá¡ááœááºáᬠááœáá·áºááŒá¯áá¬ážáá±á¬áºáááºáž á¡áá±á¬ááºá¡áá¬áž á ááºážááŸá±á¬ááºááŸá¯á¡ááœáẠáá¶á·ááá¯ážááá¬ážáá«á Git 2.26 ááœááºá á€ááœá²ááŒá¬ážááŸá¯áá»á¬ážááᯠáááºááŸá¬ážááŒá®áž á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¯á¶ážááŒá¯áá°á¡áááºááᯠááá¯ááááºážááœá²áá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· áá»áááºááẠááá¯áááºááŸááºááá¯ááºáááº-[á¡áá±á¬ááºá¡áá¬áž "https://*.example.com"]
á¡áá¯á¶ážááŒá¯áá°á¡ááẠ= áá±áá±áá¬
- áá
áºá
áááºáá
áºááá¯ááºážáá¯á¶áá°ááœá¬ážááŒááºáž (partial clones) á¡ááœáẠá
ááºážáááºáá¶á·ááá¯ážááŸá¯ áá»á²á·ááœááºááŒááºážááẠááá·áºá¡á¬áž áá±áá¬á áá
áºá
áááºáá
áºááá¯ááºážááá¯áᬠááœáŸá²ááŒá±á¬ááºážááá¯ááºááŒá®áž ááá¯ááŸá±á¬ááºááŸá¯á áááŒáá·áºá
á¯á¶áá±á¬áááá¹áá°ááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºá
á±áááºááŒá
áºáááºá á¡áá
áºááœááºááŸáááŸá¯á¡áá
áºááœáẠ"git sparse-checkout add" ááẠ"checkout" áááºáááºááŸá¯ááá¯á¡áá¯ááºáá¯ááºáá±á¬áá
áºáááºáá¡á
áááºá¡ááá¯ááºážá¡ááœááºáá¬á¡áá¯á¶ážááŒá¯áááºáá
áºáá¯áá»ááºážá
á®áááºážááœáŸááºáá»ááºáá»á¬ážááá¯ááá·áºááœááºážááá¯ááºá
á±ááá·áº command á¡áá
áºáá
áºáᯠ"git sparse-checkout add" ááá¯áááºááá¯ážááẠsparse-checkout set" (á
á¬áááºážáá
áºáá¯áá¯á¶ážááᯠá¡ááŒáááºááá¯ááºáž ááŒááºáááºáááºááŸááºááŒááºážáááŒá¯áá² áááºážááœáŸááºáá
áºáá¯ááŒá®ážáá
áºáᯠáá±á«ááºážááá·áºááá¯ááºáááº)á
á¥ááá¬á¡á¬ážááŒáá·áºá blobs áá»á¬ážááá¯ááºáá±á¬ááºáá² git/git repository ááá¯ááœá¬ážáááºá ááœá±ááŸááºážááŒááºážá root directory ááá¯áᬠááá·áºáááºááŒá®áž "t" ááŸáá·áº "Documentation" directory á¡ááœáẠááœá±ááŸááºážááŒááºážááᯠáá®ážááŒá¬ážá á®á¡ááŸááºá¡áá¬ážááŒá¯áááºá áááºáááºááŸááºááá¯ááºáááº-$ git clone --filter=blob:none --áá»á² [á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]:git/git.git
$cd git
$ git sparse-checkout init --cone$ git sparse-checkout add t
... á
$ git sparse-checkout ááœáẠDocumentation ááá·áºáá«á
... á
$ git sparse-checkout á á¬áááºáž
ááŸááºáááºáž
t - ááá¯ááŸá±á¬ááºááŸá¯ááŸáá·áº áááá¯ááºážááá¯ááºáᬠááŒááºáááºááŒááºáááºááŸá¯áá»á¬ážá áááºááŸáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááŸá¬ááœá±áá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº "git grep" ááœááºáááºážá á áœááºážáá±á¬ááºáááºááŸá¬ áááááá¬áᬠááá¯ážáááºáá¬áá²á·áááºá ááŸá¬ááœá±ááŸá¯ááᯠá¡ááŸáááºááŒáŸáá·áºáááºá á á¬ááŒá±á¬ááºážáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážááŒá¯á á¡áá¯ááºáá áºáááºá á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠá áááºááºáááºááẠááŒá áºááá¯ááºáá±á¬áºáááºážá áááá¯ááºážááá¯ááºáᬠááŒááºáááºááŒááºáááºááŸá¯ááœáẠááŸá¬ááœá±ááŸá¯ááẠáá áºáá¯áááºážáá±á¬ áá»ááºáá»áŸááºááŒá áºáááºá ááá¯á¡áá« á¡áá¬ááá¹áá¯ááá¯ááŸá±á¬ááºááŸá¯á០á á¬áááºááŒááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠá¡ááŒáá¯ááºáá¯ááºáá±á¬ááºááá¯ááºááŸá¯á¡á¬áž á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº á€ááá·áºáááºáá»ááºááᯠáááºááŸá¬ážááá¯ááºáá«ááŒá®á áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá thread á¡áá±á¡ááœááºááᯠCPU cores á¡áá±á¡ááœááºááŸáá·áº áá®áá»áŸá¡á±á¬ááºáááºááŸááºáá¬ážááŒá®ážá ááá¯á¡ááŒá±á¡áá±á¡áá»á¬ážá á¯ááœáẠâ-threadsâ option ááᯠá¡áá°ážááááºáááºááŸááºáááºáááá¯á¡ááºáá«á
- repository ááá¯ááºáá±á¬ááºáá±áá±á¬áááá¹áá°áá»á¬ážá áœá¬ááŒáá·áºá¡áá¯ááºáá¯ááºááá¯ááºá á±ááá·áº "git worktree" command áá¡ááŒá¬ážá¡ááŒááºážááœá¬ážááŸá¯áá»á¬ážááŸáá·áº subcommandsá áááºážááŒá±á¬ááºážáá»á¬ážá ááá·áºááºáá»á¬ážááŸáá·áºá¡ááŒá¬ážá¡ááŒááºážááœá¬ážááŸá¯áá»á¬ážáá¡ááá¯á¡áá»á±á¬ááºááŒáá·áºááœááºážááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááá·áºááœááºážáá¬ážáááºá
- ANSI á¡á á®á¡á á¥áºáá»á¬ážáá«ááŸááá±á¬ áá±á¬ááºááá±á¬á¡áá±á¬ááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºááá·áºáá¬ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá®ážáá±á¬ááºážááá¯ážááŒááá·áºá¡áá±á¬ááºáá»á¬ážá¡ááœáẠáááºáááºáá»á¬ážááœáẠâgit config âcolorâ ááá¯á·ááá¯áẠâgit diff âcolor-movedâ ááœáẠáá±á¬ááºááá±á¬á¡ááŒá¬áá±á¬ááºá¡ááœáẠâ--formatâ ááœá±ážáá»ááºááŸá¯ááŸáá áºááá·áº â%C(brightblue)â ááᯠáááºááŸááºááá¯ááºáááºá
- áá¬ááºááœáŸááºážá áá¬ážááŸááºážá¡áá
áºááᯠááá·áºááœááºážáá¬ážáááºá
fsmonitor-áááºážá á±á¬áá·áº ááá¹ááá¬ážááŸáá·áº áá±á«ááºážá ááºáá±ážááŒááºážáFacebook Watchman ááá¯ááºá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááŒá±áá¬áá¶ááŒááºážááŸáá·áº ááá¯ááºá¡áá áºáá»á¬ážá á¡ááœááºá¡ááŒááºááᯠá¡ááŸáááºááŒáŸáá·áºáááºá á¡ááºááááºáá¯ááºááŒá®ážáá±á¬áẠgit ááá¯á¡ááºáááºáá¡á á¬ážááá¯áž repository ááœááºáá»áááºáá«á - áá
áºááŒá±áá¯á¶áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áºá¡áá« áá
áºá
áááºáá
áºááá¯ááºáž clone áá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºááẠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž áá±á«ááºážááá·áºáá¬ážáááºá
á¡ááœááºááᯠá á áºáá¯ááºááá·áºá¡áá« á¡áá¬ááá¹áá¯á¡á¬ážáá¯á¶ážááᯠááŒá®ážááŒáá·áºá á¯á¶áá±á¬ ááŸá¬ááœá±ááŸá¯ááᯠááŸá±á¬ááºááŸá¬ážááẠ(bitmap á ááºááá¹ááá¬áž)á áá áºá áááºáá áºááá¯ááºážáá¯á¶áá°ááœá¬ážááŒááºážá¡áá±á¬á¡ááœááºáž blobs (âfilter=blob:none ááŸáá·áº âfilter=blob:limit=n) ááᯠá á áºáá±ážááŒááºážááᯠááá¯áá¯ááºáá±á¬ááºááŒá®ážáá«ááŒá®
áááááá¬áá¬ááŒááºáááºá GitHub ááẠá¡ááá¯áá« ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá áºá áááºáá áºááá¯ááºážááá¯ááºáá°ááœá¬ážááŒááºážá¡ááœáẠá ááºážáááºáá¶á·ááá¯ážááŸá¯ááŸáá·áºá¡áá° áá¬áá±ážááŸá¯áá»á¬ážááᯠááŒá±áá¬áá²á·áááºá - "git rebase" á¡áááá·áºááᯠ'patch+apply' á¡á á¬áž áá°áááºáž 'áá±á«ááºážá ááºážááŒááºáž' ááá¹ááá¬áž (ááááºá "rebase -i" á¡ááœáẠáá¯á¶ážáááº) ááᯠá¡áá¯á¶ážááŒá¯á ááá°áá®áá±á¬ áá±á¬ááºáá¶ááá¯ááºááá¯á· ááœáŸá±á·áá¬ážáááºá áá±á¬ááºáá¶á¡áá¬áá»á¬ážááẠá¡áá»áá¯á·áá±á¬áááºážáááºážáá»á¬ážááŒáá·áº ááœá²ááŒá¬ážáááºá á¥ááá¬á áááááá¹áááá¯ááŒá±ááŸááºážááŒá®ážáá±á¬áẠáá¯ááºáá±á¬ááºáá»ááºáá áºáá¯á¡á¬áž áááºáááºáá¯ááºáá±á¬ááºááŒá®ážáá±á¬áẠ(git rebase --continue)á áá±á¬ááºáá¶áá°á¡áá áºááẠcommit áááºáá±á·áá»áºááᯠáááºážááŒááºááẠáááºážááŸááºážáá¬ážááŒá®áž á¡áá±á¬ááºážááẠáááºáá±á·áá»áºá¡áá±á¬ááºážááᯠááá¯ážááá¯ážááŸááºážááŸááºážá¡áá¯á¶ážááŒá¯áá±áá»áááºááœáẠáá±á¬ááºáá¶á¡áá áºáá»á¬ážááẠáá±ážáááºáá±á¬áááºážáááºážáá»á¬ážááŒáá·áº ááœá²ááŒá¬ážáááºá á¡ááŒá¯á¡áá°áá±á¬ááºážááá¯á· ááŒááºááŒá±á¬ááºážáááºá¡ááœáẠáááºááẠ"--apply" ááœá±ážáá»ááºááŸá¯ááᯠáá¯á¶ážááá¯ááºááẠááá¯á·ááá¯áẠ'rebase.backend' ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááᯠ'apply' á¡ááŒá ẠáááºááŸááºááá¯ááºáááºá
- .netrc ááŸáá áºááá·áº áááºááŸááºáá¬ážáá±á¬ á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážááá¯ááºáᬠááá·áºáááºáá±á¬ááºáá»á¬ážá¡ááœáẠááá¯ááºááœááºáá°á á¥ááá¬á¡á¬áž áá±á¬ááºá¡ááœááºážá០á¡áá¯á¶ážááŒá¯ááẠááá·áºáá»á±á¬áºááá·áºáá¯á¶á á¶ááá¯á· áá»áŸá±á¬á·áá»ááá¯ááºáá«áááºá
- áá áºáá»á áºáááºáááºááŸááºá¡áááºááŒá¯ááŒááºážáá¯ááºáá±á¬ááºááá·áº á¡á áááºá¡ááá¯ááºážá¡áá»áá¯ážáá»áá¯ážá¡ááœáẠá¡áááá·áºáá¯á¶ážáá¯á¶ááŒááºááŸá¯á¡ááá·áºááᯠáááºááŸááºááẠgpg.minTrustLevel áááºáááºááᯠááá·áºááœááºážáá²á·áááºá
- "--pathspec-from-file" option ááᯠ"git rm" ááŸáá·áº "git stash" ááœáẠááá·áºáá¬ážáááºá
- SHA-2 á¡á á¬áž SHA-1 hashing algorithm ááá¯á· á¡áá°ážá¡ááŒá±á¬ááºážá¡ááœáẠááŒáá¯áááºááŒááºáááºááŸá¯áá»á¬áž áááºáááºáá¯ááºáá±á¬ááºáá±áá«áááºá
source: opennet.ru