Qhov tshiab "git sparse-checkout" hais kom ua tau yooj yim heev rau kev ua haujlwm thiab txo cov txheej txheem ntawm kev teeb tsa kev ua haujlwm nrog qhov chaw cia tsis tiav rau cov lus txib hauv qab no:
git clone --filter=blob:none --sparse /your/repository/no repo
git sparse-checkout teeb /path/to/check/out
Qhov kev hais kom qis-checkout tso cai rau koj los teeb tsa cov npe ntawm txoj hauv kev rau kev txiav tawm (teeb tsa) yam tsis tas yuav teeb tsa .git/info/sparse-checkout, nrog rau tso saib cov npe tam sim no ntawm txoj hauv kev (cov npe) thiab pab lossis lov tes taw ib nrab ntawm cov tshev tawm (pab kom /disable).
Txhawm rau txhim kho kev ua haujlwm nrog cov chaw khaws ntaub ntawv loj heev thiab cov npe ntawm cov qauv, "git config core.sparseCheckoutCone", uas txwv cov qauv tso cai (tshwj tsis yog arbitrary .gitignore cov qauv, koj tuaj yeem txheeb xyuas seb txhua txoj hauv kev thiab tag nrho cov ntaub ntawv hauv ib lub npe subdirectory yuav tsum raug kuaj xyuas). Piv txwv li, yog tias lub chaw khaws ntaub ntawv loj muaj cov npe "A / B / C" thiab tag nrho cov haujlwm yog tsom rau hauv subdirectory "C", tom qab ntawd thaum koj qhib hom sparseCheckoutCone, cov lus txib "git sparse-checkout teeb A / B / C" yuav rho tawm tag nrho cov ntsiab lus ntawm "C", tab sis los ntawm "A" thiab "B" nws yuav rho tawm tsuas yog qhov tsim nyog los ua haujlwm nrog "C".
Los ntawm cov ntaub ntawv ("git rebase -h"), tag nrho cov ntaub ntawv xa mus rau "--preserve-merges" kev xaiv tau raug tshem tawm, uas tau raug tshem tawm thiab yuav tsum tau siv los hloov cov kev cog lus.git rebase --rebase-merges".
Txhawm rau txhim kho kev nyeem tau ntawm cov lus nrog thaj ua rau xa mus rau cov npe xa ntawv, "git format-patch -cover-from-description subject" kev xaiv tau ntxiv, thaum tau teev tseg, thawj kab lus los ntawm ceg lus piav qhia yog siv raws li cov ntsiab lus ntawm daim ntawv npog rau ib txheej ntawm thaj ua rau thaj.
Kev txhawb nqa rau kev siv ua ke ntawm "git thov -3way" hais kom ua thiab "merge.conflictStyle" teeb tsa ("git thov" tam sim no coj mus rau hauv tus account qhov tsis sib haum xeeb piav qhia style los ntawm merge.conflictStyle thaum nws tsim nyog los daws qhov teeb meem tom qab sim siv cov ntaub ntawv thaj rau lub chaw khaws cia).
Lub luag haujlwm txhais cov lej siv hauv kev ua haujlwm xws li "git diff / grep --show-function/-function-context" tau txuas ntxiv los txhawb kev txhais cov ciaj ciam hauv cov kev pabcuam lus Elixir.
Ib qho kev xaiv tshiab tau ntxiv rau "git add", "git commit", "git reset" thiab lwm cov lus txib - "-pathspec-from-file", uas ua rau nws tuaj yeem thauj cov npe ntawm txoj hauv kev los ntawm cov ntaub ntawv lossis cov dej nkag. , es tsis txhob teev lawv ntawm kab hais kom ua.
Qhov teeb meem nrog kev txheeb xyuas cov npe hloov npe ntawm cov ntawv teev npe thaum sau ntawv tau raug daws. Cov ntsiab lus tsis ua haujlwm yog tias cov ntsiab lus ntawm subdirectory tau tsiv mus rau hauv paus ntawm qhov chaw khaws cia.
Ib qho kev siv thawj zaug ntawm kev rov tsim dua "git add -i" hais kom ua, tso cai rau koj ntxiv cov ntsiab lus hloov pauv sib tham, rov sau dua los ntawm Perl rau C. Ib qho kev ua haujlwm zoo sib xws ntawm "git add -p" hais kom ua tab tom ua.
Cov lus txib "git log -graph" tau rov ua dua, tsim cov duab ASCII ntawm daim duab nrog keeb kwm ntawm kev hloov pauv hauv qhov chaw cia khoom. Lub rework ua rau nws muaj peev xwm txhim kho thiab ua kom yooj yim rau cov zis yam tsis muaj kev cuam tshuam cov qauv ntawm zaj dab neeg, uas, piv txwv li, daws qhov teeb meem nrog daim duab txuas mus dhau ntawm kab dav dav dav.
Qhov "git log --format = .. " kev xaiv tso cai rau koj hloov cov ntawv tso zis,
txuas ntxiv nrog kev txhawb nqa rau "l / L" chij kom pom tsuas yog ib feem ntawm email chaw nyob qhia ua ntej lub cim "@" (piv txwv li, muaj txiaj ntsig zoo thaum txhua tus tsim tawm muaj tag nrho cov email hauv tib lub npe).
Ntxiv rau "set-url" subcommand rau "git submodule" hais kom ua.