Git 2.35 ಮೂಲ ನಿಯಂತ್ರಣ ಬಿಡುಗಡೆ

ಎರಡು ತಿಂಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, ವಿತರಿಸಿದ ಮೂಲ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆ Git 2.35 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ. Git ಅತ್ಯಂತ ಜನಪ್ರಿಯ, ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ, ಇದು ಶಾಖೆಯ ಮತ್ತು ವಿಲೀನದ ಆಧಾರದ ಮೇಲೆ ಹೊಂದಿಕೊಳ್ಳುವ ರೇಖಾತ್ಮಕವಲ್ಲದ ಅಭಿವೃದ್ಧಿ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇತಿಹಾಸದ ಸಮಗ್ರತೆ ಮತ್ತು ಹಿಂದಿನ ಬದಲಾವಣೆಗಳಿಗೆ ಪ್ರತಿರೋಧವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಪ್ರತಿ ಕಮಿಟ್‌ನಲ್ಲಿ ಸಂಪೂರ್ಣ ಹಿಂದಿನ ಇತಿಹಾಸದ ಸೂಚ್ಯ ಹ್ಯಾಶಿಂಗ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ; ಡೆವಲಪರ್‌ಗಳ ಡಿಜಿಟಲ್ ಸಹಿಗಳೊಂದಿಗೆ ವೈಯಕ್ತಿಕ ಟ್ಯಾಗ್‌ಗಳು ಮತ್ತು ಕಮಿಟ್‌ಗಳನ್ನು ಪ್ರಮಾಣೀಕರಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ.

ಹಿಂದಿನ ಬಿಡುಗಡೆಗೆ ಹೋಲಿಸಿದರೆ, ಹೊಸ ಆವೃತ್ತಿಯು 494 ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿತ್ತು, 93 ಡೆವಲಪರ್‌ಗಳ ಭಾಗವಹಿಸುವಿಕೆಯೊಂದಿಗೆ ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ, ಅದರಲ್ಲಿ 35 ಮೊದಲ ಬಾರಿಗೆ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಭಾಗವಹಿಸಿದವು. ಮುಖ್ಯ ಆವಿಷ್ಕಾರಗಳು:

  • Git ವಸ್ತುಗಳನ್ನು ಡಿಜಿಟಲ್ ಸಹಿ ಮಾಡಲು SSH ಕೀಗಳನ್ನು ಬಳಸುವ ಸಾಧ್ಯತೆಗಳನ್ನು ವಿಸ್ತರಿಸಲಾಗಿದೆ. ಹಲವಾರು ಕೀಗಳ ಮಾನ್ಯತೆಯ ಅವಧಿಯನ್ನು ಮಿತಿಗೊಳಿಸಲು, OpenSSH ನಿರ್ದೇಶನಗಳಿಗೆ "ಮಾನ್ಯ-ಮೊದಲು" ಮತ್ತು "ಮಾನ್ಯವಾದ ನಂತರ" ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದರೊಂದಿಗೆ ಕೀಲಿಯನ್ನು ಡೆವಲಪರ್‌ಗಳಲ್ಲಿ ಒಬ್ಬರು ತಿರುಗಿಸಿದ ನಂತರ ನೀವು ಸಹಿಗಳೊಂದಿಗೆ ಸರಿಯಾದ ಕೆಲಸವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ಇದಕ್ಕೂ ಮೊದಲು, ಹಳೆಯ ಮತ್ತು ಹೊಸ ಕೀಲಿಯಿಂದ ಸಹಿಗಳನ್ನು ಬೇರ್ಪಡಿಸುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇತ್ತು - ನೀವು ಹಳೆಯ ಕೀಲಿಯನ್ನು ಅಳಿಸಿದರೆ, ಅದರೊಂದಿಗೆ ಮಾಡಿದ ಸಹಿಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಅಸಾಧ್ಯ, ಮತ್ತು ನೀವು ಅದನ್ನು ಬಿಟ್ಟರೆ, ಅದು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಹಳೆಯ ಕೀಲಿಯೊಂದಿಗೆ ಹೊಸ ಸಹಿಯನ್ನು ರಚಿಸಿ, ಅದನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಕೀಲಿಯಿಂದ ಬದಲಾಯಿಸಲಾಗಿದೆ. ಮಾನ್ಯ-ಮೊದಲು ಮತ್ತು ಮಾನ್ಯವಾದ ನಂತರ ನೀವು ಸಹಿಯನ್ನು ರಚಿಸಿದ ಸಮಯದ ಆಧಾರದ ಮೇಲೆ ಕೀಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು.
  • merge.conflictStyle ಸೆಟ್ಟಿಂಗ್‌ನಲ್ಲಿ, ವಿಲೀನದ ಸಮಯದಲ್ಲಿ ಘರ್ಷಣೆಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಮೋಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, "zdiff3" ಮೋಡ್‌ಗೆ ಬೆಂಬಲವು ಕಾಣಿಸಿಕೊಂಡಿದೆ, ಇದು ಸಂಘರ್ಷದ ಆರಂಭದಲ್ಲಿ ಅಥವಾ ಕೊನೆಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಎಲ್ಲಾ ಪ್ರಮಾಣಿತ ಸಾಲುಗಳನ್ನು ಸಂಘರ್ಷದ ಹೊರಗೆ ಚಲಿಸುತ್ತದೆ. ಪ್ರದೇಶ, ಇದು ಮಾಹಿತಿಯ ಹೆಚ್ಚು ಸಾಂದ್ರವಾದ ಪ್ರಸ್ತುತಿಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
  • "--ಹಂತದ" ಮೋಡ್ ಅನ್ನು "git ಸ್ಟ್ಯಾಶ್" ಆಜ್ಞೆಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಸೂಚ್ಯಂಕಕ್ಕೆ ಸೇರಿಸಲಾದ ಬದಲಾವಣೆಗಳನ್ನು ಮಾತ್ರ ಮರೆಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ನೀವು ಕೆಲವು ಸಂಕೀರ್ಣ ಬದಲಾವಣೆಗಳನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಮುಂದೂಡಬೇಕಾದಾಗ ಮೊದಲು ಈಗಾಗಲೇ ಸಿದ್ಧವಾಗಿರುವದನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಉಳಿದವುಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸಿ. ಮೋಡ್ "git ಕಮಿಟ್" ಆಜ್ಞೆಯನ್ನು ಹೋಲುತ್ತದೆ, ಇಂಡೆಕ್ಸ್‌ನಲ್ಲಿ ಇರಿಸಲಾದ ಬದಲಾವಣೆಗಳನ್ನು ಮಾತ್ರ ಬರೆಯುತ್ತದೆ, ಆದರೆ "git stash —staged" ನಲ್ಲಿ ಹೊಸ ಕಮಿಟ್ ಅನ್ನು ರಚಿಸುವ ಬದಲು, ಫಲಿತಾಂಶವನ್ನು ಸ್ಟ್ಯಾಶ್ ತಾತ್ಕಾಲಿಕ ಪ್ರದೇಶದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಒಮ್ಮೆ ಬದಲಾವಣೆಗಳು ಅಗತ್ಯವಿದ್ದರೆ, ಅವುಗಳನ್ನು "git stash pop" ಆಜ್ಞೆಯೊಂದಿಗೆ ಹಿಂತಿರುಗಿಸಬಹುದು.
  • "git log" ಕಮಾಂಡ್‌ಗೆ ಹೊಸ ಫಾರ್ಮ್ಯಾಟ್ ಸ್ಪೆಸಿಫೈಯರ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, "--format=%(ವಿವರಿಸಿ)", ಇದು "git log" ನ ಔಟ್‌ಪುಟ್ ಅನ್ನು "git description" ಆದೇಶದ ಔಟ್‌ಪುಟ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. "git description" ಗಾಗಿ ನಿಯತಾಂಕಗಳನ್ನು ನೇರವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಒಳಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ ("-format=%(ವಿವರಿಸಿ:match= , ಹೊರತುಪಡಿಸಿ= )"), ಇದರಲ್ಲಿ ನೀವು ಸಂಕ್ಷಿಪ್ತ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಸಹ ಸೇರಿಸಬಹುದು ("-ಫಾರ್ಮ್ಯಾಟ್=%(ವಿವರಿಸಿ:ಟ್ಯಾಗ್‌ಗಳು= )") ಮತ್ತು ವಸ್ತುಗಳನ್ನು ಗುರುತಿಸಲು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಅಕ್ಷರಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (“—ಫಾರ್ಮ್ಯಾಟ್=%(ವಿವರಿಸಿ:ಸಂಕ್ಷೇಪ=) )"). ಉದಾಹರಣೆಗೆ, ಕೊನೆಯ 8 ಕಮಿಟ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ಯಾರ ಟ್ಯಾಗ್‌ಗಳು ಬಿಡುಗಡೆ ಅಭ್ಯರ್ಥಿ ಟ್ಯಾಗ್ ಅನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು 8-ಅಕ್ಷರ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು, ನೀವು ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು: $ git log -8 —format='%(ವಿವರಿಸಿ: ಹೊರತುಪಡಿಸಿ=*-rc *,abbrev=13 )' v2.34.1-646-gaf4e5f569bc89 v2.34.1-644-g0330edb239c24 v2.33.1-641-g15f002812f858 v2.34.1-643-b2b95-94ab 056-gb2.34.1bd 642bbc56f95 v8-7-gffb2.34.1f203d v9-2980902- gdf2.34.1c640adeb3 v41-212-g2.34.1b639a36
  • user.signingKey ಸೆಟ್ಟಿಂಗ್ ಈಗ "ssh-" ಪ್ರಕಾರಕ್ಕೆ ಸೀಮಿತವಾಗಿರದ ಹೊಸ ಪ್ರಕಾರದ ಕೀಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಕೀಗೆ ಪೂರ್ಣ ಫೈಲ್ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಪರ್ಯಾಯ ಪ್ರಕಾರಗಳನ್ನು "key::" ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ ECDSA ಕೀಗಳಿಗಾಗಿ "key::ecdsa-sha2-nistp256".
  • "-ಹಿಸ್ಟೋಗ್ರಾಮ್" ಮೋಡ್‌ನಲ್ಲಿ ಬದಲಾವಣೆಗಳ ಪಟ್ಟಿಯನ್ನು ರಚಿಸುವ ವೇಗ, ಹಾಗೆಯೇ "-ಕಲರ್-ಮೂವ್ಡ್-ಡಬ್ಲ್ಯೂಎಸ್" ಆಯ್ಕೆಯನ್ನು ಬಳಸುವಾಗ, ಇದು ಬಣ್ಣ ವ್ಯತ್ಯಾಸದಲ್ಲಿ ಜಾಗಗಳ ಹೈಲೈಟ್ ಮಾಡುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ, ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಗಿದೆ.
  • ವಿಲೀನ ಘರ್ಷಣೆಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಾಗ, ವ್ಯತ್ಯಾಸಗಳನ್ನು ನೋಡುವಾಗ ಅಥವಾ ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಫೈಲ್‌ನಲ್ಲಿ ಅಪೇಕ್ಷಿತ ಸ್ಥಾನಕ್ಕೆ ನಿಖರವಾದ ಜಂಪ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು Vim ಗೆ ಒದಗಿಸಲು ಬಳಸಲಾಗುವ "git jump" ಆಜ್ಞೆಯು ವಿಲೀನ ಸಂಘರ್ಷಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು "foo" ಡೈರೆಕ್ಟರಿಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸಲು, ನೀವು "git jump merge - foo" ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು ಮತ್ತು "ದಾಖಲೆ" ಡೈರೆಕ್ಟರಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಯಿಂದ ಹೊರಗಿಡಬಹುದು - "git jump merge - ':^Documentation'"
  • ವಸ್ತುಗಳ ಗಾತ್ರವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಮೌಲ್ಯಗಳಿಗೆ "ಸಹಿ ಮಾಡದ ಉದ್ದ" ಬದಲಿಗೆ "size_t" ಪ್ರಕಾರದ ಬಳಕೆಯನ್ನು ಪ್ರಮಾಣೀಕರಿಸುವ ಕೆಲಸವನ್ನು ಮಾಡಲಾಗಿದೆ, ಇದು 4 GB ಗಿಂತ ಹೆಚ್ಚಿನ ಫೈಲ್‌ಗಳೊಂದಿಗೆ "ಕ್ಲೀನ್" ಮತ್ತು "ಸ್ಮಡ್ಜ್" ಫಿಲ್ಟರ್‌ಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು. LLP64 ಡೇಟಾ ಮಾದರಿಯೊಂದಿಗೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ 4 ಬೈಟ್‌ಗಳಿಗೆ ಸೀಮಿತವಾಗಿರುವ “ಸಹಿ ಮಾಡದ ಉದ್ದ” ಪ್ರಕಾರ.
  • “-empty=(stop|drop|keep)” ಆಯ್ಕೆಯನ್ನು “git am” ಆಜ್ಞೆಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಮೇಲ್ಬಾಕ್ಸ್‌ನಿಂದ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಾಗ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಹೊಂದಿರದ ಖಾಲಿ ಸಂದೇಶಗಳಿಗಾಗಿ ನಡವಳಿಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. "ನಿಲ್ಲಿಸು" ಮೌಲ್ಯವು ಸಂಪೂರ್ಣ ಪ್ಯಾಚಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ, "ಡ್ರಾಪ್" ಖಾಲಿ ಪ್ಯಾಚ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ ಮತ್ತು "ಕೀಪ್" ಖಾಲಿ ಕಮಿಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.
  • ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಮತ್ತು ಜಾಗವನ್ನು ಉಳಿಸಲು "git reset", "git diff", "git ಬ್ಲೇಮ್", "git fetch", "git pull" ಮತ್ತು "git ls-files" ಆಜ್ಞೆಗಳಿಗೆ ಭಾಗಶಃ ಸೂಚಿಕೆಗಳಿಗೆ (ವಿರಳವಾದ ಸೂಚ್ಯಂಕ) ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ರೆಪೊಸಿಟರಿಗಳು , ಇದರಲ್ಲಿ ಭಾಗಶಃ ಕ್ಲೋನಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು (ವಿರಳ-ಚೆಕ್ಔಟ್) ನಡೆಸಲಾಗುತ್ತದೆ.
  • "git Sparse-checkout init" ಆಜ್ಞೆಯನ್ನು ಅಸಮ್ಮತಿಸಲಾಗಿದೆ ಮತ್ತು ಅದನ್ನು "git ವಿರಳ-ಚೆಕ್‌ಔಟ್ ಸೆಟ್" ನಿಂದ ಬದಲಾಯಿಸಬೇಕು.
  • ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಶಾಖೆಗಳು ಮತ್ತು ಟ್ಯಾಗ್‌ಗಳಂತಹ ಉಲ್ಲೇಖಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಹೊಸ "ರಿಫ್ಟಬಲ್" ಬ್ಯಾಕೆಂಡ್‌ನ ಆರಂಭಿಕ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಹೊಸ ಬ್ಯಾಕೆಂಡ್ JGit ಪ್ರಾಜೆಕ್ಟ್ ಬಳಸುವ ಬ್ಲಾಕ್ ಸ್ಟೋರೇಜ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಉಲ್ಲೇಖಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ. ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಇನ್ನೂ ರೆಫ್ಸ್ ಸಿಸ್ಟಮ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿಲ್ಲ ಮತ್ತು ಪ್ರಾಯೋಗಿಕ ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿಲ್ಲ.
  • "git grep" ಆಜ್ಞೆಯ ಬಣ್ಣದ ಪ್ಯಾಲೆಟ್ ಅನ್ನು GNU grep ಯುಟಿಲಿಟಿಗೆ ಹೊಂದಿಸಲು ಹೊಂದಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ