Git 2.41 ಮೂಲ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆ ಲಭ್ಯವಿದೆ

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

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

  • ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಉಲ್ಲೇಖಿಸದ (ಶಾಖೆಗಳು ಅಥವಾ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗಿಲ್ಲ) ತಲುಪಲಾಗದ ವಸ್ತುಗಳ ಸುಧಾರಿತ ನಿರ್ವಹಣೆ. ತಲುಪಲಾಗದ ವಸ್ತುಗಳನ್ನು ಕಸ ಸಂಗ್ರಾಹಕದಿಂದ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ, ಆದರೆ ಓಟದ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ತಪ್ಪಿಸಲು ತೆಗೆದುಹಾಕುವ ಮೊದಲು ನಿರ್ದಿಷ್ಟ ಸಮಯದವರೆಗೆ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಉಳಿಯುತ್ತದೆ. ತಲುಪಲಾಗದ ವಸ್ತುಗಳ ಅವಧಿಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು, ಒಂದೇ ರೀತಿಯ ವಸ್ತುಗಳ ಬದಲಾವಣೆಯ ಸಮಯದೊಂದಿಗೆ ಲೇಬಲ್‌ಗಳನ್ನು ಬಂಧಿಸುವ ಅವಶ್ಯಕತೆಯಿದೆ, ಇದು ಅವುಗಳನ್ನು ಒಂದೇ ಪ್ಯಾಕ್-ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು ಅನುಮತಿಸುವುದಿಲ್ಲ, ಇದರಲ್ಲಿ ಎಲ್ಲಾ ವಸ್ತುಗಳು ಸಾಮಾನ್ಯ ಬದಲಾವಣೆಯ ಸಮಯವನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಹಿಂದೆ, ಪ್ರತಿ ತಲುಪಲಾಗದ ವಸ್ತುವನ್ನು ಪ್ರತ್ಯೇಕ ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ, ಇದು ಇನ್ನೂ ಅಳಿಸುವಿಕೆಗೆ ಒಳಪಡದ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ತಾಜಾ ತಲುಪಲಾಗದ ವಸ್ತುಗಳು ಇದ್ದಲ್ಲಿ ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಯಿತು. ಹೊಸ ಬಿಡುಗಡೆಯಲ್ಲಿ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ತಲುಪಲಾಗದ ವಸ್ತುಗಳನ್ನು ಪ್ಯಾಕ್ ಮಾಡಲು “ಕ್ರಫ್ಟ್ ಪ್ಯಾಕ್‌ಗಳು” ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಎಲ್ಲಾ ತಲುಪಲಾಗದ ವಸ್ತುಗಳನ್ನು ಒಂದೇ ಪ್ಯಾಕ್ ಫೈಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ವಸ್ತುವಿನ ಮಾರ್ಪಾಡು ಸಮಯದ ಡೇಟಾವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ ಪ್ರತ್ಯೇಕ ಕೋಷ್ಟಕದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ".mtimes" ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಫೈಲ್ ಮತ್ತು ".idx" ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಸೂಚ್ಯಂಕ ಫೈಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಲಿಂಕ್ ಮಾಡಲಾಗಿದೆ.
    Git 2.41 ಮೂಲ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆ ಲಭ್ಯವಿದೆ
  • ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಪ್ಯಾಕ್ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಡಿಸ್ಕ್‌ನಲ್ಲಿ ರಿವರ್ಸ್ ಇಂಡೆಕ್ಸ್ (ರಿವಿಂಡೆಕ್ಸ್) ಅನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಟೊರ್ವಾಲ್ಡ್ಸ್/ಲಿನಕ್ಸ್ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಿದಾಗ, ರಿವರ್ಸ್ ಇಂಡೆಕ್ಸ್‌ನ ಬಳಕೆಯು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾದ "ಗಿಟ್ ಪುಶ್" ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು 1.49 ಪಟ್ಟು ವೇಗಗೊಳಿಸಲು ನಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು ಮತ್ತು "ಜಿಟ್ ಕ್ಯಾಟ್- ಬಳಸಿಕೊಂಡು ಒಂದೇ ವಸ್ತುವಿನ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವಂತಹ ಸರಳ ಕಾರ್ಯಾಚರಣೆಗಳು. ಫೈಲ್ --batch='%(objectsize:disk)' »77 ಬಾರಿ. ರಿವರ್ಸ್ ಇಂಡೆಕ್ಸ್‌ನೊಂದಿಗೆ ಫೈಲ್‌ಗಳನ್ನು (".rev") ".git/objects/pack" ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ರೆಪೊಸಿಟರಿಯೊಳಗೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.

    Git ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ವಸ್ತುಗಳ ರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಎಂದು ನೆನಪಿಸಿಕೊಳ್ಳಿ, ಅದನ್ನು ಪ್ರತ್ಯೇಕ ಫೈಲ್ಗಳಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ. ರೆಪೊಸಿಟರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು, ವಸ್ತುಗಳನ್ನು ಹೆಚ್ಚುವರಿಯಾಗಿ ಪ್ಯಾಕ್ ಫೈಲ್‌ಗಳಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ, ಇದರಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಒಂದರ ನಂತರ ಒಂದರಂತೆ ವಸ್ತುಗಳ ಸ್ಟ್ರೀಮ್ ರೂಪದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗುತ್ತದೆ (ಜಿಟ್ ಫೆಚ್ ಮತ್ತು ಜಿಟ್‌ನೊಂದಿಗೆ ವಸ್ತುಗಳನ್ನು ವರ್ಗಾಯಿಸುವಾಗ ಇದೇ ಸ್ವರೂಪವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಪುಶ್ ಆಜ್ಞೆಗಳು). ಪ್ರತಿ ಪ್ಯಾಕ್ ಫೈಲ್‌ಗೆ ಸೂಚ್ಯಂಕ ಫೈಲ್ (.idx) ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಇದು ಪ್ಯಾಕ್ ಫೈಲ್‌ನಲ್ಲಿ ಆಫ್‌ಸೆಟ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಅದರ ಮೂಲಕ ಆಬ್ಜೆಕ್ಟ್ ಐಡೆಂಟಿಫೈಯರ್‌ನಿಂದ ನಿರ್ದಿಷ್ಟ ವಸ್ತುವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.

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

    ಉದಾಹರಣೆಗೆ, ನೇರ ಸೂಚ್ಯಂಕವನ್ನು ಬಳಸುವ ವಸ್ತುಗಳ ವಿಷಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವ ಕಾರ್ಯಾಚರಣೆಯು ವಸ್ತುಗಳ ಗಾತ್ರವನ್ನು ತೋರಿಸುವ ಕಾರ್ಯಾಚರಣೆಗಿಂತ 62 ಪಟ್ಟು ವೇಗವಾಗಿದೆ, ಇದಕ್ಕಾಗಿ ಸ್ಥಾನದಿಂದ ವಸ್ತುವಿನ ಸಂಬಂಧದ ಡೇಟಾವನ್ನು ಸೂಚಿಕೆ ಮಾಡಲಾಗಿಲ್ಲ. ಹಿಮ್ಮುಖ ಸೂಚ್ಯಂಕವನ್ನು ಬಳಸಿದ ನಂತರ, ಈ ಕಾರ್ಯಾಚರಣೆಗಳು ಸರಿಸುಮಾರು ಅದೇ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಿದವು. ರಿವರ್ಸ್ ಇಂಡೆಕ್ಸ್‌ಗಳು ಡಿಸ್ಕ್‌ನಿಂದ ಸಿದ್ದವಾಗಿರುವ ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ವರ್ಗಾಯಿಸುವ ಮೂಲಕ ತರಲು ಮತ್ತು ಪುಶ್ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ವಸ್ತುಗಳನ್ನು ಕಳುಹಿಸುವ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ವೇಗಗೊಳಿಸಲು ಸಹ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

    Git 2.41 ಮೂಲ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆ ಲಭ್ಯವಿದೆ

  • ನಿರ್ಬಂಧಿತ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಪ್ರವೇಶಿಸುವಾಗ ರುಜುವಾತುಗಳನ್ನು ರವಾನಿಸಲು ಬಳಸುವ "ರುಜುವಾತು ಸಹಾಯಕ" ಪ್ರೋಟೋಕಾಲ್‌ಗೆ ರುಜುವಾತು ಹ್ಯಾಂಡ್ಲರ್ ಮತ್ತು ದೃಢೀಕರಣ ಸೇವೆಯ ನಡುವೆ WWW-ಅಥೆಂಟಿಕೇಟ್ ಹೆಡರ್‌ಗಳನ್ನು ರವಾನಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. WWW-Authenticate ಹೆಡರ್‌ಗೆ ಬೆಂಬಲವು OAuth ಸ್ಕೋಪ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ರೆಪೊಸಿಟರಿಗಳಿಗೆ ಹೆಚ್ಚು ಹರಳಾಗಿ ಪ್ರತ್ಯೇಕಿಸಲು ಬಳಕೆದಾರರ ಪ್ರವೇಶವನ್ನು ರವಾನಿಸಲು ಮತ್ತು ವಿನಂತಿಗಳಿಗೆ ಲಭ್ಯವಿರುವ ಸ್ಕೋಪ್‌ಗಳನ್ನು ಡಿಲಿಮಿಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
  • ಫಾರ್ಮ್ಯಾಟ್ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ "%(ಮುಂದೆ-ಹಿಂದೆ: )", ಇದು ಮತ್ತೊಂದು ಶಾಖೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಒಂದು ನಿರ್ದಿಷ್ಟ ಶಾಖೆಯಲ್ಲಿ ಪ್ರಸ್ತುತ ಅಥವಾ ಇಲ್ಲದಿರುವ ಕಮಿಟ್‌ಗಳ ಸಂಖ್ಯೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ತಕ್ಷಣವೇ ಪಡೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಕಮಿಟ್‌ಗಳ ಮಟ್ಟದಲ್ಲಿ ಒಂದು ಶಾಖೆ ಇನ್ನೊಂದಕ್ಕಿಂತ ಎಷ್ಟು ಹಿಂದುಳಿದಿದೆ ಅಥವಾ ಮುಂದಿದೆ). ಹಿಂದೆ, ಈ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಎರಡು ಪ್ರತ್ಯೇಕ ಆಜ್ಞೆಗಳು ಬೇಕಾಗುತ್ತವೆ: "git rev-list --count main..my-feature" ಶಾಖೆಗೆ ವಿಶಿಷ್ಟವಾದ ಕಮಿಟ್‌ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಪಡೆಯಲು ಮತ್ತು "git rev-list --count my-feature.. ಮುಖ್ಯ" ಸಂಖ್ಯೆ ತಪ್ಪಿಹೋಗಿರುವ ಕಮಿಟ್‌ಗಳನ್ನು ಪಡೆಯಲು. ಈಗ ಅಂತಹ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಒಂದೇ ಸೂಚನೆಗೆ ಕಡಿಮೆ ಮಾಡಬಹುದು, ಇದು ಬರೆಯುವ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಮರಣದಂಡನೆಯ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ವಿಲೀನಗೊಳ್ಳದ ಶಾಖೆಗಳನ್ನು ತೋರಿಸಲು ಮತ್ತು ಅವುಗಳ ಮುಖ್ಯ ಶಾಖೆಯ ಹಿಂದೆ ಅಥವಾ ಮುಂದಿದೆಯೇ ಎಂಬುದನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು, ನೀವು ಒಂದು-ಲೈನರ್ ಅನ್ನು ಬಳಸಬಹುದು: $ git for-each-ref --no-merged=origin/HEAD \ --format=' %(refname:short) %(ahead-behind:origin/HEAD)' \ refs/heads/tb/ | ಕಾಲಮ್ -t tb/cruft-extra-tips 2 96 tb/for-each-ref-ಹಿಂದೆ ಬಳಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಬದಲಿಗೆ 16 96 tb/roaring-bitmaps 47 3 ಹೊರತುಪಡಿಸಿ, ಇದು 17 ಪಟ್ಟು ನಿಧಾನವಾಗಿರುತ್ತದೆ: $ git for-each-ref — format='%(refname:short)' --no-merged=ಮೂಲ/ಹೆಡ್ \ refs/heads/tb | ಓದುವಾಗ ref ಮಾಡು ಮುಂದೆ = "$(git rev-list --count origin/HEAD..$ref)" ಹಿಂದೆ="$(git rev-list --count $ref..origin/HEAD)" printf "%s %d %d\n" "$ref" "$ಮುಂದೆ" "$ಹಿಂದೆ" ಮುಗಿದಿದೆ | ಕಾಲಮ್ -t tb/cruft-extra-tips 2 96 tb/for-each-ref-16 96 tb/roaring-bitmaps 47 3 ಹೊರತುಪಡಿಸಿ
  • "--ಪೋರ್ಸಲೇನ್" ಆಯ್ಕೆಯನ್ನು "ಗಿಟ್ ಫೆಚ್" ಆಜ್ಞೆಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ”, ಕಡಿಮೆ ಓದಬಲ್ಲದು, ಆದರೆ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಲ್ಲಿ ಪಾರ್ಸಿಂಗ್ ಮಾಡಲು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿದೆ.
  • ಸರ್ವರ್ ಸಂಪೂರ್ಣ ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ಕಳುಹಿಸಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುವ ಹಂತದಲ್ಲಿ ಸ್ಥಳೀಯ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಲಿಂಕ್‌ಗಳ ಭಾಗವನ್ನು ಮರೆಮಾಡುವ ಮೂಲಕ "git fetch" ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ವೇಗಗೊಳಿಸಲು "fetch.hideRefs" ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಚೆಕ್ ಅನ್ನು ಸರ್ವರ್‌ಗಳಿಗೆ ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸುವ ಮೂಲಕ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ. ಇದರಿಂದ ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ಪಡೆಯಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಟ್ರ್ಯಾಕ್ ಮಾಡಲಾದ ಬಾಹ್ಯ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ರೆಪೊಸಿಟರಿಗಳೊಂದಿಗೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಪರೀಕ್ಷಿಸುವಾಗ, $ ರಿಮೋಟ್ ಟಾರ್ಗೆಟ್ ಸರ್ವರ್‌ಗೆ ಉದ್ದೇಶಿಸಲಾದ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ "ಜಿಟ್ ಫೆಚ್" ಕಾರ್ಯಾಚರಣೆಯನ್ನು 20 ನಿಮಿಷಗಳಿಂದ 30 ಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಕಡಿಮೆ ಮಾಡಲಾಗಿದೆ. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ $remote ಪಡೆದುಕೊಳ್ಳಿ
  • "git fsck" ಆಜ್ಞೆಯು ಭ್ರಷ್ಟಾಚಾರ, ಚೆಕ್‌ಸಮ್ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಪ್ರವೇಶ ಬಿಟ್‌ಮ್ಯಾಪ್‌ಗಳು ಮತ್ತು ರಿವರ್ಸ್ ಇಂಡೆಕ್ಸ್‌ಗಳಲ್ಲಿನ ಮೌಲ್ಯಗಳ ಸರಿಯಾದತೆಯನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.
  • $GIT_DIR ಒಳಗೆ ಸಾಂಕೇತಿಕ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ರೆಪೊಸಿಟರಿಯಿಂದ ನಕಲಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ "git clone --local" ಆಜ್ಞೆಯು ಈಗ ದೋಷವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ಮೂಲ: opennet.ru

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