Git 2.37 hoʻokuʻu mana kumu

Ua hoʻolaha ʻia ka hoʻokuʻu ʻia ʻana o ka ʻōnaehana hoʻokele kumu kumu ʻo Git 2.37. ʻO Git kekahi o nā ʻōnaehana mana mana kaulana, hilinaʻi a kiʻekiʻe hoʻi, e hāʻawi ana i nā mea hana hoʻomohala non-linear maʻalahi e pili ana i ka lālā a me ka hoʻohui ʻana. No ka hōʻoia ʻana i ka pono o ka mōʻaukala a me ke kūʻē ʻana i nā hoʻololi retroactive, hoʻohana ʻia ka hashing implicit o ka mōʻaukala holoʻokoʻa i kēlā me kēia hana; hiki nō hoʻi ke hōʻoia i nā hōʻailona pilikino a hana pū me nā pūlima kikohoʻe o nā mea hoʻomohala.

Ke hoʻohālikelike ʻia i ka hoʻokuʻu mua ʻana, ua hoʻololi ʻia nā hoʻololi 395 i ka mana hou, i hoʻomākaukau ʻia me ke komo ʻana o nā mea hoʻomohala 75, kahi o 20 i komo i ka hoʻomohala ʻana no ka manawa mua. Nā hana hou nui:

  • Ua hoʻomākaukau ʻia ka mīkini o nā ʻāpana hapa (sparse index), e uhi ana i kahi hapa o ka waihona, no ka hoʻohana ākea. Hiki i nā ʻatikala hapa ke hoʻomaikaʻi i ka hana a mālama i ka lewa ma nā waihona e hana ana i nā hana cloning hapa (sparse-checkout) a i ʻole hana me kahi kope piha ʻole o ka waihona. Hoʻopau ka hoʻokuʻu hou i ka hoʻohui ʻana o nā ʻāpana ʻāpana i ka git show, git sparse-checkout, a me nā kauoha git stash. ʻO ka pōmaikaʻi o ka hana i ʻike ʻia mai ka hoʻohana ʻana i nā ʻāpana ʻāpana i ʻike ʻia me ke kauoha git stash, ka mea i ʻike i ka piʻi ʻana o 80% i ka wikiwiki hoʻokō i kekahi mau kūlana.
  • Ua hoʻokō ʻia kahi hana "cruft packs" hou no ka hoʻopili ʻana i nā mea hiki ʻole ke ʻike ʻia ʻaʻole i kuhikuhi ʻia i loko o ka waihona (ʻaʻole i kuhikuhi ʻia e nā lālā a i ʻole nā ​​hōʻailona). Hoʻopau ʻia nā mea hiki ʻole ke kiʻi ʻia e ka ʻohi ʻōpala, akā e noho i loko o ka waihona no kekahi manawa ma mua o ka holoi ʻia ʻana e pale i nā kūlana lāhui. No ka hahai ʻana i ka manawa o ka hiki ʻana mai o nā mea hiki ʻole ke loaʻa, pono e hoʻopili i nā hōʻailona iā lākou me ka manawa o ka hoʻololi ʻana o nā mea like, ʻaʻole ia e ʻae i ka mālama ʻana iā lākou i loko o hoʻokahi waihona waihona kahi i loaʻa ai nā mea āpau i ka manawa hoʻololi maʻamau. Ma mua, ʻo ka mālama ʻana i kēlā me kēia mea i kahi faila ʻokoʻa i alakaʻi i nā pilikia i ka nui o nā mea hou a hiki ʻole ke kiʻi ʻia ʻaʻole hiki ke hoʻopau ʻia. ʻO ke ʻano hana "cruft packs" i manaʻo ʻia e hiki iā ʻoe ke mālama i nā mea hiki ʻole ke loaʻa i loko o kahi faila hoʻokahi, a e noʻonoʻo i ka ʻikepili i ka manawa hoʻololi o kēlā me kēia mea ma kahi papa ʻokoʻa i mālama ʻia i loko o kahi faila me ka hoʻonui ".mtimes".
  • No Windows a me macOS, aia kahi hana i kūkulu ʻia no ka nānā ʻana i nā loli i ka ʻōnaehana faila, e ʻae iā ʻoe e pale i ka hoʻololi ʻana i ka papa kuhikuhi hana holoʻokoʻa i ka wā e hana ai i nā hana e like me "git status". Ma mua, no ka hahai ʻana i nā loli, hiki ke hoʻopili ʻia nā pono waho no ka huli ʻana i nā loli i ka FS, e like me Watchman, ma o nā makau, akā pono kēia i ka hoʻokomo ʻana i nā polokalamu hou a me ka hoʻonohonoho. I kēia manawa ua kūkulu ʻia ka hana i ʻōlelo ʻia a hiki ke hoʻohana ʻia me ke kauoha "git config core.fsmonitor true".
  • Ma ke kauoha "git sparse-checkout", kākoʻo no kahi ʻano ʻē aʻe i ke ʻano "-cone", ke ʻano o ka wehewehe ʻana i nā templates no ka ʻāpana cloning, ua haʻi ʻia ʻaʻole ia, e hiki ai, i ka wā e hoʻoholo ai i ka ʻāpana o ka waihona. ʻO ka hana cloning, e papa inoa i nā faila me ka hoʻohana ʻana i ka syntax ".gitignore", ʻaʻole ia e ʻae i ka hoʻohana ʻana i nā ʻōlelo kuhikuhi hapa.
  • Hoʻonui i ka maʻalahi i ka hoʻonohonoho ʻana i ke kelepona fsync () e hoʻololi i nā loli i ka disk. Ua hoʻohui ʻia ke kākoʻo no ka hoʻolālā hoʻonohonoho "batch" i ka ʻāpana "core.fsyncMethod", e hiki ai i ka wikiwiki o ka hana ke kākau ʻana i kahi helu nui o nā faila pākahi ma ka hōʻiliʻili ʻana i nā loli i ka cache writeback, i hoʻonohonoho ʻia e kahi fsync () kahea. ʻO ka hoʻāʻo, kahi i hoʻohui ʻia ai nā faila 500 me ka hoʻohana ʻana i ke kauoha "git add", ua hoʻopau ʻia i ka 0.15 kekona i ka wā i hiki ai ke ʻano hou, ʻoiai ke kāhea ʻana iā fsync() lawe 1.88 kekona no kēlā me kēia faila, a me ka hoʻohana ʻole ʻana i ka fsync - 0.06 kekona.
  • ʻO nā kauoha kaʻahele lālā e like me "git log" a me "git rev-list" i kēia manawa he koho "-since-as-filter = X" e hiki ai iā ʻoe ke kānana i ka ʻike e pili ana i nā hana i ʻoi aku ma mua o "X". ʻAʻole like me ke koho "-mai", ua hoʻokō ʻia ke kauoha hou ma ke ʻano he kānana ʻaʻole e hoʻōki i ka huli ʻana ma hope o ka hana mua ma mua o ka manawa i ʻōlelo ʻia.
  • Ma ke kauoha "git remote", ke kuhikuhi ʻana i ka hae "-v", hōʻike ʻia ka ʻike e pili ana i nā ʻāpana ʻāpana o ka waihona.
  • Hoʻohui ʻia ka hoʻonohonoho "transfer.credentialsInUrl", hiki ke lawe i nā waiwai "warn", "die" a "allow". Inā hōʻike ʻia ma ka ʻāpana "remote. .url" nā hōʻoia kikokikona maʻamau, e hoʻāʻo ana e hana i ka hana "fetch" a i ʻole "push" me ka hewa inā ua hoʻonohonoho ʻia ka hoʻonohonoho "transfer.credentialsInUrl" i "make", a i ʻole kahi ʻōlelo aʻo inā hoʻonohonoho ʻia i "warn".
  • Ma ka maʻamau, hiki ke hoʻokō hou i ke ʻano pāʻani o ke kauoha "git add -i", kākau hou ʻia mai Perl a C.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka