ืืืฉืืืื ืืืืืืจื ืืงืืืืช, ืืืจืกื ืืืืฉื ืืืื 745 ืฉืื ืืืื, ืฉืืืื ื ืืืฉืชืชืคืืช 74 ืืคืชืืื, ืืชืืื 18 ืืงืื ืืืง ืืคืืชืื ืืจืืฉืื ื.
- ืืืื ืืื ืืจืกื 1.18, ืืฆื ื-commit rebase ืืืืฉ "git rebase --rebase-merges" ืืืืืฃ ืืช ืืืคืฉืจืืช ืืืฉื ื "--preserve-merges", ืฉืืขืช ืืืฆืื ืืฉืืืืฉ. ืคืขืืืช "git rebase" ืืฉืืฉืช ืืืืืคืช ืกืืจื ืฉื commits ื-commit ืืกืืก ืืืฉ, ืืืฉื, ืืืขืืืจ ืขื ืฃ ื ืคืจื ืฉืืคืชื ืคืืฆ'ืจ ืืืฉ ืืืฉืื ืืืฆื ืื ืืืื ืฉื ืืขื ืฃ ืืจืืฉื, ืืืืื ืชืืงืื ืื ืฉื ืืกืคื ืืืืจ ืืขื ืฃ :
o - o - o (ืืชืืื ื ืฉืื)
/
o - o - o - o - o (ืืืกืืจ)
o - o - o (ืืชืืื ื ืฉืื)
/
o - o - o - o - o (ืืืกืืจ)
ืืื ืืฉืืจ ืืช ืืื ื ืืกื ืืฃ ืืกื ืืฃ ืฉืืืขืืจ, ื ืืชื ืืื ืืืฉืชืืฉ ืืขืืจ ืืืคืฉืจืืช "--preserve-merges", ืฉืืืฉืจ ืืื ืคืืขืืช ืืืฆื ืืื ืืจืืงืืืื (git rebase -i --preserve-merges), ืืคืฉืจื ืขืจืืืช ืืืกืืืจืืืช ื-commit, ืื ืื ืืืืื ืฉืืืืจ ืืื ืฉื ืืื ื ืืืืืจ. ืืฆื "--rebase-merges" ืืืืฉ ืืืคืฉืจ ืื ืืฉืืจ ืืช ืืื ื ืืฉืื ืืืื ืืกื ืืฃ ืืืืขืืจ, ืชืื ืืชื ืืืืื ืฉืื ืฉื ืคืขืืืืช ืืื ืืจืืงืืืืืืช, ืืืื ืืืืงื, ืงืืืืฅ ืืืืฉ ืืฉืื ืื ืฉืืืช ืฉื commits.
ืืืืืื, "--rebase-merges"
ืืื ืืืคืฉืจืช ืืขืืื ืืืืฉ ืฉื ืืชืืืืืืืืช ืืขื ืฃ ื ืคืจื ืืขื ืฃ ืืืกืืจ ืืืฉ ืืืชืจ, ืชืื ืฉืืืจื ืขื ืืื ื ืืกื ืืฃ ืืกื ืืฃ ืืืืขืืจ, ืืขืจืื ืืื ืฉืื ืืืื ืืืขืจืืช ืืืชืืืืืืช ืชืื ืืื ืชื ืืขื. - ื ืืกืคื ืชืืืื ืืืฆืืจืช ืขื ืฃ ืืืฉ ืืืืืกืก ืขื ืชืืฆืื ืฉื ืงืืืขืช ืืกืืก ืืืืืื ืฉื ืฉื ื ืขื ืคืื ืืืจืื (ืืกืืก ืืืืื, ืืชืงืฉืจืืช ืืื ืงืืืื ืืฉืืชืฃ) ืืืืฆืขืืช ืืงืื ืกืืจืืงืฆืืืช "git branch new A...B" ื-"git checkout -b new A...B", ืฉืื "A ...B" ืืจืื ืืืืืจืช ืืกืืก ืืืืื ืืื ืฉื ื commits ืฉืฆืืื ื, ืืืืื ืืืืคื ืฉืื "git checkout A...B" ืืขืืืจ ืืช ื-HEAD ื-base commit ื-"diff A. ..B" ืืฆืื ืืช ืืฉืื ืืืื ืืื commit "B" ืืืืืช commit "A" "Ancestor".
ืืืืืื, ืืืฉืจ ืขืืืืื ืขื ืขื ืฃ my-feature ื ืคืจื, ื ืืชื ืืืฉืชืืฉ ืืชืืื ื ืื ืืืฉืจ ืจืืฆืื ืืืชืืื ืืขื ืฃ ืืืจ, ืืืฉื, ืืืืชื ืืงืื ืืขื ืฃ ืืืืกืืจ ืืื ื ืืืฆื ืืขื ืฃ my-feature. ืืขืืจ, ืื ืืฆืจืื ืืืืงื ืืื ืืช ืฉื ืืืื ืืฉืื ืืืื, ืื ืฉืืื ืื ื ืื ืื ืืืืชื ืื ืืืกืืืจืื ืืืืื ืฉื ืฉืื ืืืื, ืืืืืจ ืืื ืืคืขืืช "git merge-base master my-feature" ืืื ืืืฉื ืืช ื-hash ืฉื ืืกืืก ืืืืืื ืืื ื-master ื-my-feature. ืืืฆืืจืช ืขื ืฃ ืืืฉ ืืืกืืช ืืื ืืงืืืื ืืืฉืืชืฃ "git branch my-other-feature hash." ื-Git 2.22, ืืชื ืืืื ืืืฉืชืืฉ ืืชืืืืจ "git branch my-other-feature A...B" ืืื ืืืฆืืจ ืขื ืฃ ืืืืก ืืืกืืก ืืืืืื ืฉื ืฉื ื ืขื ืคืื ืืืจืื;
- ื ืืกืคื ืืคืฉืจืืช "git branch --show-current" ืืืฆืืช ืฉื ืืกื ืืฃ ืฉืืืฉื ืืืืื ืคืขืืืช ืืชืฉืืื;
- ื ืืกืคื ืืืคืฉืจืืช "git checkout โno-overlay โ dir", ืืืืคืฉืจืช, ืืขืช ืืืฆืืข ืคืขืืืช ืงืืคื, ืืืืื ืืช ืชืืื ืกืคืจืืืช ื-dir ืืืืคืก ืืืชืืื ืืืืืื ืืืฆื ืืกื ืืฃ ืืจืืฉื. ืืืืืื, ืื ืืฉ ืงืืืฅ ืืขืืชืง ืืืงืืื ืฉื ืกืคืจืืืช dir ืฉืืื ื ืืกื ืืฃ ืืืืกืืจ, ืื ืืืจืืจืช ืืืื ืืขืช ืืืฆืืข "git checkout master - dir" ืืื ืืืฉืืจ, ืืื ื-"--no-overlay โ ืืคืฉืจืืช ืืฆืืื ืช, ืืื ืชืืืืง;
- ืืคืงืืื "git diff" ืืฉืชืืฉืช ื-API ืืื ืืืจืกืื ืื ืืชืื ืืคืฉืจืืืืช, ืื ืฉืืืคืฉืจ ืืืื ืืช ืืืืคืื ืืืืคืฆืืืช ืขื ืืื ืขืืจ ืืืจืื ืฉื git. ืืืืืื, ื-"git diff", ืืื ืืืคืฉืจืืืืช ืืฉ ืืขืช ืืช ืืื ืืืื ืืกืืื ืฉืืื ("--function-context" ื-"--no-function-context");
- ื ืืกืคื ืืืืืืช ืืกื ื ืชืืื ืืืจืืืื ืืืฆืืจืคืื ื-commits ืืคืื "git log" ("ืืจืืืืจ" - ืืืื ืืืืข ื ืืกืคืื, ืืืื Signed-off-by ื-Co-authored-by). ืืคืฉืจ ืืกื ื ืชืืืืืช ืื ืืคื ืืคืชื ืืื ืืคื ืขืจื, ืืืืืื:
"git log --pretty="%(trailers:key=ื ืืืง ืขื ืืื,valueonly)"; - ืื ืืข ืืขืงื ืืืฉ, Trace2, ื ืืกืฃ, ืืืฆืืข ืคืืจืื ืคืื ืืืืฉ ืืืืื ื ืืืชืจ. Trace2 ืืืคืฉืจ ืื ืืืกืืฃ ืืืืืจืื ืขื ืคืขืืืืช ืฉืืืฆืขื ืื ืชืื ื ืืืฆืืขืื ืื ืืชืื ืื ืืคืื ืืืืื ืืคืืจืืื ืืืชืจ (ืืืืคื ืืืงืฆื ืขื ืืื ืืืฉืชืืฉ, ืฉืื ื ืชืื ืื ืื ื ืฉืืืื ืืืฆืื ืืช);
- ืื"ื "git bisect" ื ืขืฉื ืงืจืื ืืืชืจ, ืฉืื commits ืืขืืืชืืื ืืืืืฉืื ืืขืช ืืฆืืจื ืืจืืจื ืืืชืจ ืืืืฆืืืช ืกืืืืกืืืงืืช ืกืืืื ืขื ืฉืื ืืืื ืขืืืจ ืื ืงืืืฅ (ืืจืืช ืืกืคืจ ืืฉืืจืืช ืฉืืฉืชื ื);
- ืืืืืจืืกืืืงื ืืงืืืขืช ืฉืื ืื ืืฉืืืช ืฉื ืกืคืจืืืช ืขืืืื ืืืืฉ ืืื ืืื ืืข ืืชืงื ื ืืืืืช ืฉื ืชืืืืืช ืฉืื ืื ืฉืืืช. ืืืฉืจ ืืฉ ืกืคืง, ืกืคืจืืืช ืืืื ืืกืืื ืืช ืืขืช ืืื ืืืืืช;
- ืืืืจื ืืืฆืืช ืืืฉืจ ืืชื ืื ืกื ืืืชืงืื ืชื ืขื ืชื ืืืจ, ืื ืฉื ืขืฉื ืืืจื ืืื ืืืขืืช ืืืืื ืืืืืื ืืืืืจืช ืืชื ื-commit ืฉืืื (ืืืืืื, ืื ืืื ืืื "git tag -f -m "ืขืืืื ืืขืืืื" my-tag1 my-tag2โณ ืืืจืื ืืืฆืืจืช ืชื ืืชื ืืืฉื, ืืขืื ืฉืืืคืชื ืฆืืคื ืฉืืชื ืืืืฉ ืืืชืงื ื-commit ืฉืขืืื ืืฆืืืข ืืชื ืืืฉื);
- ืืืฆืืจื ืืืคืขืืช ืขืืืจ ืืืืจื ืืคืืช ืกืืืืืช (ืืื ื "ืืคืืช ืกืืืืืช ืฉื ื ืืืฉืืช" ืืืืืกืก ืขื ืืืกืง), ืืืืืกื ืื ื ืชืื ืื ืขื ืงืืืฆืืช ืฉื ืืืืืืงืืื ืืืืื ืื ืขืืืจ ืื commit ืืืืคืฉืจืื ืืงืืืข ืืืืืจืืช ืืช ื ืืืืืชื ืฉื ืืืืืืงื ืืกืืก. ืืื ื ืื ืืงืืื ืืฉืืขืืชืืช ืืช ืืื ืืืืฆืืข ืฉื ืคืขืืืืช ืืืืืจ ื ืชืื ืื (git fetch).
ืืงืืจ: OpenNet.ru