Git ವಿಲೀನ ಸವಾಲುಗಳನ್ನು ನಿವಾರಿಸುವುದು
ಅಭಿವೃದ್ಧಿ ಶಾಖೆಯಿಂದ Git ಮರುಬೇಸ್ ಅನ್ನು ನಿರ್ವಹಿಸುವಾಗ, ಬಳಕೆದಾರರು "ಮಾರಣಾಂತಿಕ: ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ನಿರಾಕರಿಸುವುದು" ಎಂಬ ನಿರ್ಣಾಯಕ ದೋಷ ಸಂದೇಶವನ್ನು ಎದುರಿಸಬಹುದು. ನವೀಕರಣಗಳ ನಂತರ ಅಥವಾ ಶಾಖೆಗಳು ಸ್ವತಂತ್ರವಾಗಿ ವಿಕಸನಗೊಂಡ ಸಂದರ್ಭಗಳಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯು ಹೆಚ್ಚಾಗಿ ಉದ್ಭವಿಸುತ್ತದೆ. ಇದು ಸ್ಪಷ್ಟವಾದ, ಸಾಮಾನ್ಯ ಇತಿಹಾಸವಿಲ್ಲದೆ ಸ್ವಯಂಚಾಲಿತ ವಿಲೀನಗಳನ್ನು ತಡೆಗಟ್ಟುವ ಮೂಲಕ ಡೇಟಾ ನಷ್ಟದ ವಿರುದ್ಧ Git ನ ರಕ್ಷಣೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ.
2.9.0 ಗೆ ಮುಂಚಿನ ಆವೃತ್ತಿಗಳಲ್ಲಿ, ಅಂತಹ ಮರುಬೇಸ್ ಸಂಘರ್ಷಗಳನ್ನು ವಿಭಿನ್ನವಾಗಿ ನಿರ್ವಹಿಸಲಾಗಿದೆ. Git 2.9.0 ನಲ್ಲಿ `--allow-unrelated-histories` ಆಯ್ಕೆಯ ಪರಿಚಯದೊಂದಿಗೆ, ಬಳಕೆದಾರರು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಹೊಸ ಸಾಧನವನ್ನು ಹೊಂದಿದ್ದಾರೆ. ಈ ಆಯ್ಕೆಯನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಹೇಗೆ ಅನ್ವಯಿಸಬೇಕು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕೆಲಸವನ್ನು ಕಳೆದುಕೊಳ್ಳದೆ ಅಥವಾ ರೆಪೊಸಿಟರಿ ಅಸಂಗತತೆಯನ್ನು ಉಂಟುಮಾಡದೆ ನಿಮ್ಮ ಮರುಬೇಸ್ ಅನ್ನು ಮುಂದುವರಿಸಲು ಪ್ರಮುಖವಾಗಿದೆ.
ಆಜ್ಞೆ | ವಿವರಣೆ |
---|---|
git rebase origin/development --allow-unrelated-histories | ಪ್ರಸ್ತುತ ಶಾಖೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಶಾಖೆಯ ಇತಿಹಾಸಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇತಿಹಾಸಗಳು ಬೇರೆಡೆಗೆ ಬಂದಾಗ ಸಂಬಂಧಿಸದ ಇತಿಹಾಸಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಇದು ಅವಶ್ಯಕವಾಗಿದೆ. |
git rebase --continue | ಘರ್ಷಣೆಗಳನ್ನು ಪರಿಹರಿಸಿದ ನಂತರ ಮುಂದಿನ ಮರುಬೇಸ್ ಹಂತದೊಂದಿಗೆ ಮುಂದುವರಿಯುತ್ತದೆ, ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಅವಶ್ಯಕವಾಗಿದೆ. |
git rebase --abort | ರಿಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ರಿಬೇಸ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಶಾಖೆಯನ್ನು ಮೂಲ ಸ್ಥಿತಿಗೆ ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಸಮಸ್ಯಾತ್ಮಕ ರೀಬೇಸ್ ಪ್ರಯತ್ನಗಳಿಂದ ಸುರಕ್ಷಿತವಾಗಿ ನಿರ್ಗಮಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ. |
git add <conflicted-file> | ಮರುಬೇಸ್ ಸಮಯದಲ್ಲಿ ಸಂಘರ್ಷ ಪರಿಹಾರದ ಭಾಗವಾಗಿ ಸ್ಟೇಜಿಂಗ್ ಪ್ರದೇಶಕ್ಕೆ ಪರಿಹರಿಸಲಾದ ಫೈಲ್ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ, ಸಂಘರ್ಷಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ ಎಂದು Git ಗೆ ಸಂಕೇತಿಸುತ್ತದೆ. |
git log --oneline | ಬದ್ಧತೆಯ ಇತಿಹಾಸದ ಸಂಕ್ಷಿಪ್ತ ಆವೃತ್ತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ, ಮರುಬೇಸ್ ಮಾಡಿದ ನಂತರ ಹೊಸ ಕಮಿಟ್ ರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ. |
#!/bin/bash | ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಶೆಬಾಂಗ್ ಲೈನ್ ಬ್ಯಾಷ್ ಶೆಲ್ ಅನ್ನು ಬಳಸಬೇಕು, ಸರಿಯಾದ ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಬಳಸಲಾಗಿದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿದೆ. |
Git ಇತಿಹಾಸಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್ ಒಳನೋಟಗಳು
ಒದಗಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು Git ರೀಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ "ಮಾರಣಾಂತಿಕ: ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ನಿರಾಕರಿಸುವುದು" ದೋಷದ ಪರಿಹಾರವನ್ನು ಸುಲಭಗೊಳಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಈ ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಹೃದಯಭಾಗದಲ್ಲಿರುವ ಪ್ರಾಥಮಿಕ ಆಜ್ಞೆಯಾಗಿದೆ . ಈ ಆಜ್ಞೆಯು ನಿರ್ಣಾಯಕವಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಎರಡು ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳ ವಿಲೀನವನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಇದು ರೆಪೊಸಿಟರಿಯ ಶಾಖೆಗಳು ಗಮನಾರ್ಹವಾಗಿ ಬೇರೆಡೆಗೆ ಹೋದಾಗ ಅಥವಾ ಪ್ರತ್ಯೇಕವಾಗಿ ಪ್ರಾರಂಭಿಸಿದಾಗ ಸಾಮಾನ್ಯವಾಗಿದೆ. --ಅನುಮತಿ-ಸಂಬಂಧವಿಲ್ಲದ-ಇತಿಹಾಸಗಳ ಧ್ವಜವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ಸಾಮಾನ್ಯ ಬೇಸ್ ಬದ್ಧತೆಯ ಆರಂಭಿಕ ಕೊರತೆಯ ಹೊರತಾಗಿಯೂ ಅಭಿವೃದ್ಧಿ ಶಾಖೆಯಿಂದ ಪ್ರಸ್ತುತ ಶಾಖೆಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ Git ಮರುಬೇಸ್ನೊಂದಿಗೆ ಮುಂದುವರಿಯಬಹುದು.
ಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲಿನ ಹೆಚ್ಚಿನ ಆಜ್ಞೆಗಳು ಸಂಭಾವ್ಯ ಸಂಘರ್ಷಗಳನ್ನು ಮತ್ತು ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯ ಮುಂದುವರಿಕೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ. ಮರುಬೇಸ್ ಸಮಯದಲ್ಲಿ ಉದ್ಭವಿಸುವ ಯಾವುದೇ ಸಂಘರ್ಷಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪರಿಹರಿಸಿದ ನಂತರ ಬಳಸಲಾಗುತ್ತದೆ, ಅವುಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ ಎಂದು ಗುರುತಿಸುತ್ತದೆ. ಇದನ್ನು ಅನುಸರಿಸಿ, ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮುಂದಕ್ಕೆ ಚಲಿಸುತ್ತದೆ. ಯಾವುದೇ ಹಂತದಲ್ಲಿ ಅಗಾಧ ಘರ್ಷಣೆಗಳು ಅಥವಾ ಇತರ ಸಮಸ್ಯೆಗಳಿಂದಾಗಿ ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಲ್ಲಿಸಬೇಕಾದರೆ, ಮೂಲ ಯೋಜನೆಯ ಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸದೆ ಸುರಕ್ಷಿತ ನಿರ್ಗಮನ ತಂತ್ರವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಕೊನೆಯದಾಗಿ, git log --oneline ಎಲ್ಲಾ ಬದಲಾವಣೆಗಳನ್ನು ಸರಿಯಾಗಿ ಅನ್ವಯಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಮರುಬೇಸ್ ನಂತರದ ಬದ್ಧತೆಯ ಇತಿಹಾಸವನ್ನು ಪರಿಶೀಲಿಸಲು ಸಂಕ್ಷಿಪ್ತ ಮಾರ್ಗವನ್ನು ನೀಡುತ್ತದೆ.
Git ಮರುಬೇಸ್ ಸಮಯದಲ್ಲಿ ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳ ದೋಷವನ್ನು ನಿರ್ವಹಿಸುವುದು
ಕಮಾಂಡ್ ಲೈನ್ Git ಕಾರ್ಯಾಚರಣೆಗಳು
git fetch origin
git rebase origin/development --allow-unrelated-histories
# If conflicts occur, resolve each one and use the following commands:
git add <conflicted-file>
git rebase --continue
# If you prefer to abort the rebase and return to the original state:
git rebase --abort
# Check the status of the rebase and your repository:
git status
# Once all conflicts are resolved and the rebase is complete:
git log --oneline
ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸುವುದನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ Git ಆದೇಶಗಳು
ಸ್ವಯಂಚಾಲಿತ Git ಕಾರ್ಯಗಳಿಗಾಗಿ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್
#!/bin/bash
# Automate fetching and rebasing with unrelated histories allowed:
git fetch origin >/dev/null 2>&1
git rebase origin/development --allow-unrelated-histories >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Rebase successful without conflicts."
else
echo "Conflicts detected. Manual resolution required."
exit 1
fi
git log --oneline
echo "Rebase completed and log displayed."
Git ನ ರಿಬೇಸ್ ಕಾರ್ಯವನ್ನು ಮತ್ತು ಅದರ ಸವಾಲುಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
Git ಅನ್ನು ಬಳಸುವಾಗ, ಹೊಸ ಬೇಸ್ ಕಮಿಟ್ಗೆ ಕಮಿಟ್ಗಳನ್ನು ವರ್ಗಾಯಿಸುವ ಮೂಲಕ ಪ್ರಾಜೆಕ್ಟ್ ಇತಿಹಾಸವನ್ನು ರೇಖಾತ್ಮಕಗೊಳಿಸಲು ಡೆವಲಪರ್ಗಳಿಗೆ ಅನುಮತಿಸುವ ಪ್ರಬಲ ತಂತ್ರವನ್ನು ಮರುಬೇಸ್ ಮಾಡುವುದು. ಆದಾಗ್ಯೂ, ಈ ಪ್ರಕ್ರಿಯೆಯು ಸಂಕೀರ್ಣವಾಗಬಹುದು, ವಿಶೇಷವಾಗಿ ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ-ಸಾಮಾನ್ಯವಾಗಿ ಫಿಲ್ಟರ್-ಬ್ರಾಂಚ್ನಂತಹ ರೆಪೊಸಿಟರಿ ಶಸ್ತ್ರಚಿಕಿತ್ಸೆ ಮಾಡಿದ ನಂತರ ಅಥವಾ ಇನ್ನೊಂದು ರೆಪೊಸಿಟರಿಯಿಂದ ಕಮಿಟ್ಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವಾಗ ಕಂಡುಬರುತ್ತದೆ. ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ನಿರಾಕರಿಸುವ ಈ ದೋಷ ಸಂದೇಶವು ಸ್ವಯಂಚಾಲಿತ ವಿಲೀನದ ಸಮಯದಲ್ಲಿ ಸಂಭಾವ್ಯ ಓವರ್ರೈಟ್ಗಳನ್ನು ತಡೆಯಲು ಡೀಫಾಲ್ಟ್ ಸುರಕ್ಷತಾ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ನಿರ್ವಹಿಸುವುದು ಸುಧಾರಿತ Git ವರ್ಕ್ಫ್ಲೋಗಳಲ್ಲಿ ನಿರ್ಣಾಯಕವಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ಅನೇಕ ಇತಿಹಾಸಗಳನ್ನು ಸಂಶ್ಲೇಷಿಸಬೇಕಾದ ಸಹಯೋಗದ ಪರಿಸರದಲ್ಲಿ.
ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸಲು, Git ಒಂದು ನಿರ್ದಿಷ್ಟ ಧ್ವಜವನ್ನು ಆವೃತ್ತಿ 2.9, ದಿ ಧ್ವಜ. ಇದು ಒಂದು ಪ್ರಮುಖ ಸೇರ್ಪಡೆಯಾಗಿದೆ, ಏಕೆಂದರೆ ಹಿಂದಿನ ಆವೃತ್ತಿಗಳು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಕಮಿಟ್ ಪಾಯಿಂಟ್ಗಳಿಂದ ಪ್ರಾರಂಭವಾದ ಶಾಖೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ಸುಲಭವಾದ ಪರಿಹಾರವನ್ನು ಹೊಂದಿಲ್ಲ. ಈ ಧ್ವಜವು ಈ ಇತಿಹಾಸಗಳ ಬಲವಂತದ ವಿಲೀನಕ್ಕೆ ಅನುಮತಿಸುತ್ತದೆ, ಮರುಬೇಸ್ ಮಾಡಲು ನಿರಾಕರಿಸುವ ತಕ್ಷಣದ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವಾಗ, ಅಸ್ಪಷ್ಟ ವಿಲೀನ ಬಿಂದುಗಳೊಂದಿಗೆ ಯೋಜನೆಯ ಇತಿಹಾಸವನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ಅಥವಾ ಸಂಭಾವ್ಯವಾಗಿ ಕಳೆದುಕೊಳ್ಳುವ ಬದಲಾವಣೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಎಚ್ಚರಿಕೆಯಿಂದ ಬಳಸಬೇಕು.
- "ಮಾರಣಾಂತಿಕ: ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ನಿರಾಕರಿಸುವುದು" ದೋಷದ ಅರ್ಥವೇನು?
- ಸಾಮಾನ್ಯ ಬದ್ಧತೆಯ ಇತಿಹಾಸವನ್ನು ಹಂಚಿಕೊಳ್ಳದ ಎರಡು ಶಾಖೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು ಅಥವಾ ಮರುಬೇಸ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಈ ದೋಷ ಸಂಭವಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯವಾಗಿ ರೆಪೊಸಿಟರಿ ಬದಲಾವಣೆಗಳು ಅಥವಾ ಶಾಖೆಯ ಆಮದುಗಳ ನಂತರ.
- ಮರುಬೇಸ್ ಸಮಯದಲ್ಲಿ ನಾನು ಈ ದೋಷವನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು?
- ಬಳಸಿ ಸಂಬಂಧವಿಲ್ಲದ ಎರಡು ಇತಿಹಾಸಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಲು Git ಅನ್ನು ಒತ್ತಾಯಿಸಲು ರಿಬೇಸ್ ಆಜ್ಞೆಯ ಸಮಯದಲ್ಲಿ ಫ್ಲ್ಯಾಗ್ ಮಾಡಿ.
- ಅನ್ನು ಬಳಸುವುದು ಸುರಕ್ಷಿತವೇ ಧ್ವಜ?
- ಇದು ವಿಲೀನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಇದು ಸಂಕೀರ್ಣ ಇತಿಹಾಸಗಳು ಮತ್ತು ಸಂಭಾವ್ಯ ಸಂಘರ್ಷಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು ಎಂದು ಎಚ್ಚರಿಕೆಯಿಂದ ಬಳಸಬೇಕು.
- ಧ್ವಜವನ್ನು ಬಳಸಿದ ನಂತರ ನಾನು ಸಂಘರ್ಷಗಳನ್ನು ಎದುರಿಸಿದರೆ ನಾನು ಏನು ಮಾಡಬೇಕು?
- Git ತೋರಿಸಿರುವ ಸಂಘರ್ಷಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪರಿಹರಿಸಿ, ಪರಿಹರಿಸಿದ ಫೈಲ್ಗಳನ್ನು ಸೂಚ್ಯಂಕಕ್ಕೆ ಸೇರಿಸಿ ಮತ್ತು ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮುಂದುವರಿಸಿ.
- ನಾನು ತಪ್ಪು ಮಾಡಿದರೆ ನಾನು ಮರುಬೇಸ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸಬಹುದೇ?
- ಹೌದು, ಬಳಸಿ ಮರುಬೇಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಅದನ್ನು ಮೂಲ ಸ್ಥಿತಿಗೆ ನಿಲ್ಲಿಸಲು ಮತ್ತು ಹಿಂತಿರುಗಿಸಲು.
Git ನಲ್ಲಿ ಮರುಬೇಸ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯು, ನಿರ್ದಿಷ್ಟವಾಗಿ ಸಂಬಂಧವಿಲ್ಲದ ಇತಿಹಾಸಗಳ ಸವಾಲಿನೊಂದಿಗೆ, Git ನ ಪ್ರಬಲ ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ಅದರ ಸಂಭಾವ್ಯ ಅಪಾಯಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಒತ್ತಿಹೇಳುತ್ತದೆ. --allow-unrelated-histories ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ಆರಂಭದಲ್ಲಿ ಸ್ವತಂತ್ರವಾಗಿದ್ದ ಶಾಖೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸುವ ಅಡೆತಡೆಗಳನ್ನು ನಿವಾರಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಸ್ಪಷ್ಟ ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದಾದ ಯೋಜನೆಯ ಇತಿಹಾಸಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಇದನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ಮಾಡಬೇಕು. ಡೆವಲಪರ್ಗಳು ತಮ್ಮ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸಲು ಆವೃತ್ತಿಯ ನಿಯಂತ್ರಣದಲ್ಲಿ ನವೀಕರಣಗಳು ಮತ್ತು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ ನೀಡುವುದು ಅತ್ಯಗತ್ಯ.