תוכנת ניהול גרסאות (באנגלית: Version control software) היא תוכנה המאפשרת שמירה וארגון של גרסאות של קוד מקור של תוכנה נתונה (ככלל מדובר בתוכנה נפרדת מתוכנת ניהול הגרסאות עצמה) כאשר ניתן לפצל כל גרסה ולהתחיל ממנה גרסאות חדשות.
דרך תוכנת ניהול גרסאות, באופן כללי, כל שינוי (יהיה זה אף שינוי של תו בודד) בקוד מקור של תוכנה, יהיה מתועד בגרסה עצמאית בעלת מספר סידורי מסוים.
טיפול בהתנגשויות פיתוח
תוכנה לניהול גרסאות מתריעה על קונפליקטים בפיתוח משותף, כמו כאשר מפתח X פועל למחוק קובץ בתיקיית התוכנה ומפתח Y פועל להוסיף מידע לאותו קובץ בתקיית התוכנה או כמו כאשר מפתח X פועל למחוק שורת קוד בקובץ ומשתמש Y פועל להרחיבה;
תוכנת ניהול גרסאות יכולה לפתור קונפליקטים מסוימים אוטומטית או להקל על פתרונם.
ניתן לאגד את הגרסאות השונות בקבוצות (branches) שמכל אחת מהן ניתן להמשיך את הפיתוח ישירות (ובכך להבטיח עוד פחות התרחשות קונפליקטים) באם זה עדיף מבחינה פרקטית (למשל לצורך מחקר על דרכי פיתוח שונות).
הערות כלליות
- עבודה עם תכנות ניהול גרסאות זה סטנדרט פיתוח תוכנה בקרב כלל החברות בתחום אם כי אין זה נהוג לבצע ניהול גרסאות לסקריפטים קצרים של עד 25-50 שורות (למקלים ולמחמירים)