የሶፍትዌር ስሪት ቁጥጥር. የተዘጋጁትን ፋይሎች ከመረጃ ጠቋሚ ወስዶ በጊት ማውጫ ውስጥ ለቋሚ ማከማቻ የሚያኖር ቃል ገብተዋል።

የስሪት ቁጥጥር ስርዓት(ከእንግሊዘኛ ስሪት ቁጥጥር ስርዓት፣ ቪሲኤስ ወይም የክለሳ ቁጥጥር ስርዓት) - መረጃን ከመቀየር ጋር ለመስራት የሚያመቻች ሶፍትዌር። የስሪት ቁጥጥር ስርዓት ብዙ ተመሳሳይ ሰነዶችን እንዲያከማቹ ይፈቅድልዎታል ፣ አስፈላጊ ከሆነ ወደ ቀድሞ ስሪቶች ይመለሱ ፣ ማን የተለየ ለውጥ እንዳደረገ እና መቼ እና ብዙ ተጨማሪ።

እንዲህ ያሉት ስርዓቶች በልማት ውስጥ በብዛት ጥቅም ላይ ይውላሉ ሶፍትዌርእየተገነባ ያለውን የፕሮግራሙ ምንጭ ኮዶችን ለማከማቸት. ሆኖም ግን, በቀጣይነት በሚለዋወጡ የኤሌክትሮኒክ ሰነዶች ብዛት ያላቸው ስራዎች በሚሰሩባቸው ሌሎች ቦታዎች በተሳካ ሁኔታ ጥቅም ላይ ሊውሉ ይችላሉ. በተለይም የስሪት ቁጥጥር ስርዓቶች በአብዛኛው እንደ የምርት መረጃ አስተዳደር (ፒዲኤም) ስርዓቶች አካል በ CAD ውስጥ ጥቅም ላይ ይውላሉ። ሥሪት በማዋቀር አስተዳደር መሳሪያዎች ውስጥ ጥቅም ላይ ይውላል ( የሶፍትዌር ውቅር አስተዳደር መሳሪያዎች).

አንዳንድ ጊዜ አዲስ ስሪት መፍጠር በተጠቃሚው (በግልጽነት) ሳይስተዋል ይከናወናል, ለእንደዚህ አይነት ተግባር አብሮ የተሰራ የመተግበሪያ ፕሮግራም, ወይም ልዩ የፋይል ስርዓት በመጠቀም. በዚህ አጋጣሚ ተጠቃሚው እንደተለመደው በቀላሉ ከፋይሉ ጋር ይሰራል, እና ፋይሉን በሚያስቀምጡበት ጊዜ, አዲስ ስሪት በራስ-ሰር ይፈጠራል.

ብዙ ሰዎች በአንድ ፕሮጀክት ላይ በተመሳሳይ ጊዜ ሲሰሩ ብዙ ጊዜ ይከሰታል። ሁለት ሰዎች አንድ አይነት ፋይል ከቀየሩ፣ ከመካከላቸው አንዱ በአጋጣሚ በሌላው የተደረገውን ለውጥ ሊሽር ይችላል። የስሪት ቁጥጥር ስርዓቶች እንደዚህ ያሉ ግጭቶችን ይከታተላሉ እና እነሱን ለመፍታት ዘዴዎችን ይሰጣሉ። አብዛኛዎቹ ስርዓቶች በተለያዩ ገንቢዎች የተደረጉ ለውጦችን በራስ-ሰር ማዋሃድ (ማዋሃድ) ይችላሉ። ነገር ግን፣ እንደዚህ አይነት ለውጦችን በራስ ሰር ማዋሃድ የሚቻለው ለጽሑፍ ፋይሎች ብቻ ነው እና የዚህ ፋይል የተለያዩ (ተደራራቢ ያልሆኑ) ክፍሎች ከተቀየሩ። ይህ ገደብ አብዛኛዎቹ የስሪት ቁጥጥር ስርዓቶች የሶፍትዌር ልማት ሂደትን በመደገፍ ላይ ያተኮሩ በመሆናቸው እና የፕሮግራም ምንጭ ኮዶች በጽሑፍ ፋይሎች ውስጥ ስለሚቀመጡ ነው። አውቶማቲክ ውህደት ካልተሳካ ስርዓቱ ችግሩን በእጅ ለመፍታት ሊያቀርብ ይችላል።

ብዙውን ጊዜ ውህደትን በራስ-ሰር ወይም በራስ-ሰር ለማከናወን የማይቻል ነው። በእጅ ሁነታለምሳሌ የፋይል ቅርጸቱ የማይታወቅ ወይም በጣም የተወሳሰበ ከሆነ። አንዳንድ የስሪት ቁጥጥር ስርዓቶች አንድን ፋይል በማከማቻው ውስጥ የመቆለፍ ችሎታ ይሰጣሉ። መቆለፊያ ሌሎች ተጠቃሚዎች የስራ ቅጂ እንዳያገኙ ይከለክላል ወይም የፋይሉ የስራ ቅጂ እንዳይሻሻል (ለምሳሌ በፋይል ሲስተም) እና በዚህም ከሰነዱ ጋር ለሚሰራ ተጠቃሚ ብቻ ልዩ መዳረሻን ያረጋግጣል።

ብዙ የስሪት ቁጥጥር ስርዓቶች ሌሎች በርካታ ባህሪያትን ይሰጣሉ፡-

  • እንዲፈጥሩ ይፈቅድልዎታል የተለያዩ አማራጮችአንድ ሰነድ, የሚባሉት ቅርንጫፎች፣ ጋር አጠቃላይ ታሪክከቅርንጫፉ ነጥብ በፊት እና ከሱ በኋላ በተለያዩ ለውጦች ይለወጣል.
  • በፋይል ውስጥ የተወሰኑ የመስመሮች ስብስብ ማን እና ሲጨመሩ ወይም ሲቀየሩ ለማወቅ ያስችላሉ።
  • ተጠቃሚዎች በተሰጠው ስሪት ውስጥ ምን እና ለምን እንደቀየሩ ​​ማብራሪያዎችን የሚጽፉበት የለውጥ ምዝግብ ማስታወሻን ያቆዩ።
  • ድርጊቱን ማን እንደጠየቀው ላይ በመመስረት የተጠቃሚ መዳረሻ መብቶችን ይቆጣጠሩ፣ ማንበብን መፍቀድ ወይም መከልከል።

ከስርዓቱ ጋር አብሮ ለመስራት የተለመደ አሰራር

እያንዳንዱ የስሪት ቁጥጥር ስርዓት በትእዛዞች ስብስብ ውስጥ፣ ተጠቃሚዎች እንዴት እንደሚሰሩ እና እንደሚያስተዳድሩ የራሱ ልዩ ባህሪያት አሉት። ቢሆንም፣ አጠቃላይ ቅደም ተከተልለአብዛኛዎቹ የቪሲኤስ ሥራ ሙሉ በሙሉ stereotypical ነው። እዚህ ፕሮጀክቱ ምንም ይሁን ምን, ቀድሞውኑ እንዳለ እና ማከማቻው በአገልጋዩ ላይ እንደሚገኝ ይገመታል, ገንቢው ወደ እሱ ይደርሳል.

በፕሮጀክቱ መጀመር

አንድ ገንቢ መውሰድ ያለበት የመጀመሪያው እርምጃ የፕሮጀክቱን የስራ ቅጂ ወይም የሚሠራበትን ክፍል ማምጣት ነው። ይህ እርምጃ የፈጭ ሥሪት ትዕዛዙን በመጠቀም ይከናወናል (ብዙውን ጊዜ ተመዝግቦ መውጣትወይም ክሎን). ገንቢው በነባሪነት መቅዳት ያለበትን ስሪት ይገልፃል, የቅርብ ጊዜ ስሪት (ወይም በአስተዳዳሪው እንደ ዋናው የተመረጠው) ብዙውን ጊዜ ይገለበጣል.

የማውጫ ትዕዛዙን በመጠቀም ከአገልጋዩ ጋር ግንኙነት ይመሰረታል ፣ እና ፕሮጀክቱ (ወይም ከፊሉ - ንዑስ ማውጫዎች ካሉት ማውጫዎች አንዱ) በማውጫ እና በፋይሎች ዛፍ መልክ ወደ ገንቢው ኮምፒዩተር ይገለበጣል። የተለመደ አሰራር የሥራ ቅጂን ማባዛት ነው-ከፕሮጀክቱ ዋና ማውጫ በተጨማሪ ሌላ ቅጂ በተጨማሪ በአካባቢው ዲስክ ላይ ይፃፋል (በተለየ ፣ በልዩ የተመረጠ ማውጫ ወይም በዋናው ፕሮጀክት የስርዓት ንዑስ ማውጫዎች ውስጥ) ዛፍ)። በፕሮጀክት ላይ ሲሰሩ ገንቢው በዋናው የስራ ቅጂ ውስጥ ያሉትን ፋይሎች ብቻ ይለውጣል. ሁለተኛው የአካባቢ ቅጂ በማጣቀሻነት ተከማችቷል, ይህም በማንኛውም ጊዜ ከአገልጋዩ ጋር ሳይገናኙ, በአንድ የተወሰነ ፋይል ወይም በፕሮጀክቱ ላይ ምን ለውጦች እንደተደረጉ እና ከየትኛው ስሪት ውስጥ የስራ ቅጂው "የተፈተለ" እንደሆነ ለመወሰን ያስችልዎታል. ; እንደ ደንቡ ፣ ይህንን ቅጂ በእጅ ለመለወጥ የሚደረግ ማንኛውም ሙከራ በቪሲኤስ ሶፍትዌር አሠራር ውስጥ ወደ ስህተቶች ይመራል።

ዕለታዊ የስራ ዑደት

አንዳንድ ልዩነቶች በስርዓቱ ባህሪያት እና በተቀበሉት የቴክኖሎጂ ሂደት ዝርዝሮች, በስራ ቀን ውስጥ የገንቢው የተለመደ የስራ ዑደት ይህን ይመስላል.

የሥራውን ቅጂ ማዘመን በፕሮጀክቱ ዋና ሥሪት ላይ ለውጦች ሲደረጉ በገንቢው ኮምፒዩተር ላይ ያለው የሥራ ቅጂ ያረጃል: ከዋናው የፕሮጀክቱ ስሪት ጋር ያለው ልዩነት ይጨምራል. ይህ እርስ በርስ የሚጋጩ ለውጦችን የመጋለጥ እድልን ይጨምራል (ተመልከት). ስለዚህ ገንቢው በሚሰራው ቅጂ ላይ የማሻሻያ ክዋኔን የሚያከናውንበት የአሁኑን ዋና ስሪት በተቻለ መጠን በቅርብ ርቀት ውስጥ የሚሰራ ቅጂን ለማቆየት ምቹ ነው ( አዘምን) በተቻለ መጠን (ትክክለኛው የዝማኔዎች ድግግሞሽ የሚወሰነው እንደ ልማት እንቅስቃሴ እና እንደ ገንቢዎች ብዛት እንዲሁም በእያንዳንዱ ዝመና ላይ የሚጠፋው ጊዜ በለውጦቹ ድግግሞሽ ነው - ትልቅ ከሆነ ገንቢው እንዲሠራ ይገደዳል። ጊዜን ላለማባከን የዝማኔዎችን ድግግሞሽ ይገድቡ). የፕሮጀክት ማሻሻያ ገንቢው በፕሮጀክቱ ገለፃ መሰረት የተካተቱትን ፋይሎች በስራ ቅጂው ውስጥ በመቀየር ፕሮጀክቱን ያስተካክላል። ይህ ስራ በአገር ውስጥ ነው የሚሰራው እና ወደ ቪሲኤስ አገልጋይ ጥሪ አያስፈልግም።ለውጦችን ማስተካከል በአንድ ተግባር ላይ ቀጣዩን የሥራ ደረጃ ካጠናቀቀ በኋላ ገንቢው ይሠራል ( መፈጸም) ለውጦችን ሳይፈጽሙ ወደ አገልጋዩ ሊተላለፉ ይችላሉ. በቪሲኤስ ውስጥ የተፈቀደው የሥራ ፖሊሲ ይህንን የሚፈቅድ ከሆነ, ለውጦች በየቀኑ ሊመዘገቡ አይችሉም, ነገር ግን በስራው ላይ ሥራ ሲጠናቀቅ ብቻ; በዚህ ሁኔታ ከሥራው ጋር የተያያዙ ለውጦች ሁሉ ሥራው እስኪጠናቀቅ ድረስ በገንቢው አካባቢያዊ የሥራ ቅጂ ውስጥ ብቻ ይቀመጣሉ.

ቅርንጫፍ መስራት

የሥራውን ቅጂ በቀጥታ በማስተካከል በአገልጋዩ ላይ ወደ ዋናው ቅርንጫፍ (ግንድ) በቀጥታ በማስተካከል በፕሮጀክቱ ውስጥ ጥቃቅን እርማቶችን ማድረግ ይችላሉ. ነገር ግን, መጠነ-ሰፊ ስራዎችን ሲያከናውን, ይህ ትዕዛዝ የማይመች ይሆናል: በአገልጋዩ ላይ መካከለኛ ለውጦችን አለመመዝገብ በቡድን ሁነታ ላይ ማንኛውንም ነገር እንዲሰራ አይፈቅድም, በተጨማሪም በአካባቢው አደጋዎች ወቅት ለውጦችን የማጣት እድሉ ይጨምራል በአንድ የተወሰነ ውስጥ ያለውን ኮድ ተንትነው ወደ ቀድሞዎቹ ስሪቶች ይመለሱ። ስለዚህ, እንደዚህ አይነት ለውጦች ቅርንጫፎችን መፍጠር የተለመደ ነው. ቅርንጫፍ), ያም ማለት በአንዳንድ የፕሮጀክቱ አዲስ ስሪት ወይም በከፊል ከግንዱ ላይ "ማብቀል" እድገቱ ከዋናው ስሪት ለውጦች ጋር በትይዩ ይከናወናል. ቅርንጫፍ የተፈጠረው በልዩ ቡድን ነው። የቅርንጫፉን የስራ ቅጂ በተለመደው መንገድ በአዲስ መልክ መፍጠር ይቻላል (የቼክ ውጭ የስራ ቅጂ ትዕዛዝን በመጠቀም አድራሻውን ወይም የቅርንጫፍ መለያውን በመግለጽ) ወይም ያለውን የስራ ቅጂ ወደ አንድ ቅርንጫፍ በመቀየር።

ቅርንጫፎችን በሚጠቀሙበት ጊዜ መሠረታዊው የሥራ ዑደት እንደ አጠቃላይ ሁኔታው ​​​​ይቀጥላል-ገንቢው በየጊዜው የሚሠራውን ቅጂ ያዘምናል (ከአንድ በላይ ሰው በቅርንጫፍ ውስጥ እየሠራ ከሆነ) እና የዕለት ተዕለት ሥራውን በእሱ ላይ ያከናውናል. አንዳንድ ጊዜ የልማት ቅርንጫፍ ራሱን ችሎ ይቆያል (ለውጦች አዲስ የፕሮጀክት ስሪት ሲያመነጩ ከዋናው በተለየ የበለጠ የተገነባ) ፣ ግን ብዙውን ጊዜ ቅርንጫፉ የተፈጠረበት ሥራ ሲጠናቀቅ ቅርንጫፉ እንደገና እንዲዋሃድ ይደረጋል። ግንዱ (ዋናው ቅርንጫፍ). ይህ በውህደት ትእዛዝ ሊከናወን ይችላል (ብዙውን ጊዜ ውህደት) ወይም ማጣበቂያ በመፍጠር ( ጠጋኝበቅርንጫፉ እድገት ወቅት የተደረጉ ለውጦችን የያዘ እና ይህንን ፕላስተር አሁን ባለው የፕሮጀክቱ ዋና ስሪት ላይ በመተግበር ላይ።

ስሪቶችን በማዋሃድ

በስሪት ቁጥጥር ውስጥ የተከናወኑ ሶስት አይነት ኦፕሬሽኖች ለውጦችን የማዋሃድ አስፈላጊነት ሊያስከትል ይችላል. ይህ፡-

  • የሥራውን ቅጂ ማዘመን (በዋናው ስሪት ላይ የተደረጉ ለውጦች ከአካባቢው ጋር ተቀላቅለዋል).
  • ለውጦችን መፈጸም (አካባቢያዊ ለውጦች አስቀድመው ለዋናው ስሪት ከተደረጉ ለውጦች ጋር ተዋህደዋል)።
  • የቅርንጫፍ ውህደት (በአንድ የእድገት ቅርንጫፍ ውስጥ የተደረጉ ለውጦች ከሌላው ከተደረጉ ለውጦች ጋር ተቀላቅለዋል).

በሁሉም ሁኔታዎች, ሁኔታው ​​በመሠረቱ ተመሳሳይ ነው እና የሚከተሉት ባህሪያት አሉት.

  1. የማጠራቀሚያው ፋይል ቅጂ እና ማውጫ ዛፍ ወይም የተወሰነው ከዚህ ቀደም ተሠርቷል።
  2. በመቀጠልም በዋናው ዛፍ እና ቅጂ ላይ አንዳንድ ለውጦች በራሳቸው ተደርገዋል።
  3. የፕሮጀክቱን አመክንዮአዊ ትስስር ላለማቋረጥ እና መረጃን ላለማጣት በዋናው እና ቅጂው ላይ ለውጦችን ማዋሃድ ያስፈልጋል.

ሁኔታው (2) ካልተሟላ (ይህም በዋናው ላይ ብቻ ወይም በኮፒው ላይ ብቻ ለውጦች ከተደረጉ) ውህደቱ አንደኛ ደረጃ ነው - የተለወጠውን ክፍል ወደሌለበት መገልበጥ በቂ ነው. ለውጦች. አለበለዚያ ለውጦችን ማዋሃድ ቀላል ያልሆነ ተግባር ይሆናል, በብዙ አጋጣሚዎች የገንቢ ጣልቃገብነት ያስፈልገዋል. በአጠቃላይ ፣ ለውጦችን በራስ-ሰር የማዋሃድ ዘዴ በሚከተሉት መርሆዎች ላይ የተመሠረተ ነው ።

  • ለውጦች የፋይሉን ይዘት ማሻሻል፣ አዲስ ፋይል ወይም ማውጫ መፍጠር፣ ወይም ቀደም ሲል በፕሮጀክቱ ውስጥ የነበረውን ፋይል ወይም ማውጫ መሰረዝ ወይም መሰየምን ሊያካትት ይችላል።
  • ሁለት ለውጦች የተለያዩ እና የማይዛመዱ ፋይሎችን እና/ወይም ማውጫዎችን የሚያመለክቱ ከሆነ ሁልጊዜም በራስ-ሰር ሊዋሃዱ ይችላሉ። የእነሱ ውህደት በእያንዳንዱ የፕሮጀክቱ ስሪት ውስጥ የተደረጉ ለውጦች ወደ የተዋሃደ ስሪት መገለበጡ ነው.
  • በፕሮጀክት ማውጫዎች ውስጥ ፋይሎችን መፍጠር፣ መሰረዝ እና እንደገና መሰየም እርስ በርስ እስካልተጋጩ ድረስ በራስ-ሰር ሊዋሃዱ ይችላሉ። በዚህ አጋጣሚ በእያንዳንዱ የፕሮጀክቱ ስሪት ውስጥ የተደረጉ ለውጦች ወደ የተዋሃደ ስሪት ይገለበጣሉ. የሚጋጩት አብዛኛውን ጊዜ፡-
    • ተመሳሳዩን ፋይል ወይም ማውጫ መሰረዝ እና መለወጥ።
    • ተመሳሳዩን ፋይል ወይም ማውጫ መሰረዝ እና እንደገና መሰየም (ስርዓቱ የመቀየር ስራውን የሚደግፍ ከሆነ)።
    • ተመሳሳይ ስም እና የተለየ ይዘት ያላቸው የተለያዩ የፋይል ስሪቶችን መፍጠር።
  • በተለያዩ ስሪቶች ውስጥ በተሰራው ተመሳሳይ የጽሑፍ ፋይል ውስጥ ያሉ ለውጦች በፋይሉ ውስጥ በተለያዩ ቦታዎች ካሉ እና ካልተደራረቡ ሊዋሃዱ ይችላሉ። በዚህ ሁኔታ, ሁሉም ለውጦች በተዋሃደ ስሪት ውስጥ ተካትተዋል.
  • የጽሑፍ ፋይል ካልሆነ በስተቀር በተመሳሳዩ ፋይል ውስጥ ያሉ ለውጦች ሁልጊዜ የሚጋጩ ናቸው እና በራስ-ሰር ሊዋሃዱ አይችሉም።

በሁሉም ሁኔታዎች መሠረታዊ ስሪትለማዋሃድ የተዋሃዱ ስሪቶች የተከፋፈሉበት ስሪት ነው። ይህ የቁርጥ ቀን ሥራ ከሆነ, ከዚያም የመሠረት ሥሪት ሥሪት ይሆናል የቅርብ ጊዜ ዝመናከመፈጸምዎ በፊት ፣ ዝመና ከሆነ - ከዚያ የቀደመው ዝመና ስሪት ፣ ቅርንጫፍ ከተዋሃደ - ከዚያ ተዛማጅ ቅርንጫፍ የተፈጠረበት ስሪት። በዚህ መሠረት, የሚወዳደሩት ለውጦች ከመሠረቱ ወደ ላይ የተደረጉ ለውጦች ስብስቦች ይሆናሉ የአሁኑ ስሪትበሁሉም የተጣመሩ ልዩነቶች.

አብዛኛዎቹ የዘመናዊው ስሪት ቁጥጥር ስርዓቶች በዋናነት በሶፍትዌር ልማት ፕሮጀክቶች ላይ ያተኮሩ ሲሆን በውስጡም ዋናው የፋይል ይዘት ጽሑፍ ነው። በዚህ መሠረት ለውጦችን በራስ-ሰር የማዋሃድ ዘዴዎች የጽሑፍ ፋይሎችን ማለትም ፋይሎችን በማዘጋጀት ላይ ያተኮሩ ናቸው ጽሑፍ፣ ያቀፈ መስመሮችየፊደል ቁጥር ቁምፊዎች፣ ቦታዎች እና ትሮች፣ በአዲስ መስመሮች ተለያይተዋል።

በተመሳሳዩ የጽሑፍ ፋይል ውስጥ ለውጦችን የማዋሃድ ተቀባይነትን በሚወስኑበት ጊዜ መደበኛ የመስመር-በ-መስመር የጽሑፍ ማነፃፀሪያ ዘዴ ይሠራል (የአተገባበሩ ምሳሌ የጂኤንዩ ዲፍ ሲስተም መገልገያ ነው) ፣ የተዋሃዱትን ስሪቶች ከመሠረቱ አንድ ጋር በማነፃፀር እና የለውጦች ዝርዝር, ማለትም, የተጨመሩ, የተሰረዙ እና የተተኩ የመስመሮች ስብስቦች . ዝቅተኛው ክፍልየዚህ ስልተ ቀመር መረጃ ሕብረቁምፊ ነው; ገዳቢ ቁምፊዎች፣በአብዛኛዎቹ ጉዳዮች፣ ምንም አይነት የትርጉም ጭነት እንደማይሸከሙ ከግምት ውስጥ በማስገባት፣ ሕብረቁምፊዎችን ሲያወዳድሩ የማዋሃድ ዘዴው እነዚህን ቁምፊዎች ችላ ማለት ይችላል።

እነዚያ የማይገናኙ የተቀየሩ ሕብረቁምፊዎች ስብስቦች ተኳዃኝ እንደሆኑ ይቆጠራሉ እና ውህደታቸውም በራስ-ሰር ይከናወናል። የተዋሃዱ ፋይሎች አንድ አይነት የፋይል መስመር ላይ ተጽእኖ የሚያሳድሩ ለውጦችን ካካተቱ, ይህ ወደ ግጭት ያመራል. እንደነዚህ ያሉ ፋይሎች በእጅ ብቻ ሊዋሃዱ ይችላሉ. ከጽሑፍ ፋይሎች በስተቀር ማንኛቸውም ፋይሎች ከቪሲኤስ እይታ ሁለትዮሽ ናቸው እና አውቶማቲክ ውህደትን አይፈቅዱም።

ግጭቶች እና መፍትሄዎቻቸው

ብዙ ስሪቶችን በሚያዋህዱበት ጊዜ, በእነሱ ውስጥ የተደረጉ ለውጦች እርስ በእርሳቸው የሚገናኙበት ሁኔታ ይባላል ግጭት. የለውጦች ግጭት ካለ, የስሪት ቁጥጥር ስርዓቱ በራሱ የተዋሃደ ፕሮጀክት መፍጠር አይችልም እና ገንቢውን ለማነጋገር ይገደዳል. ከላይ እንደተጠቀሰው, ለውጦችን በመፈጸም, ቅርንጫፎችን በማዘመን ወይም በማዋሃድ ደረጃዎች ላይ ግጭቶች ሊፈጠሩ ይችላሉ. በሁሉም ሁኔታዎች, ግጭት በሚታወቅበት ጊዜ, ተጓዳኝ ክዋኔው መፍትሄ እስኪያገኝ ድረስ ይቆማል.

ግጭትን ለመፍታት ስርዓቱ በአጠቃላይ ለገንቢው ለተጋጩ ፋይሎች ሶስት አማራጮችን ይሰጣል፡ ቤዝ፣ አካባቢያዊ እና አገልጋይ። የሚጋጩ ለውጦች ወይ ለውጦችን ለማዋሃድ በልዩ የሶፍትዌር ሞጁል ውስጥ ለገንቢው ይታያሉ (በዚህ ሁኔታ የተዋሃዱ አማራጮች እና የፋይሉ ጥምር ስሪት በተጠቃሚው ትዕዛዞች ላይ በመመስረት ተለዋዋጭ ለውጦች ይታያሉ) ወይም በቀላሉ በልዩ ምልክት በቀጥታ ምልክት ይደረግባቸዋል። በተዋሃደ ፋይል ጽሑፍ ውስጥ (ከዚያም ገንቢው የሚፈልገውን ጽሑፍ ራሱ በተከራካሪ ቦታዎች ማፍለቅ እና ማቆየት አለበት)።

በፋይል ስርዓት ውስጥ ያሉ ግጭቶች በቀላሉ መፍትሄ ያገኛሉ፡ ፋይልን መሰረዝ ብቻ ከሌሎቹ ኦፕሬሽኖች ጋር ሊጋጭ ይችላል፣ እና በማውጫው ውስጥ ያሉት የፋይሎች ቅደም ተከተል ለውጥ አያመጣም፣ ስለዚህ ገንቢው የትኛውን ክዋኔ ማስቀመጥ እንዳለበት ብቻ መምረጥ ይችላል። የተዋሃደ ስሪት.

መቆለፊያዎች

የመቆለፍ ዘዴው ለውጦችን ለማድረግ ከገንቢዎቹ አንዱ ፋይልን ወይም የፋይሎችን ቡድን በብቸኝነት እንዲጠቀም ያስችለዋል። ፋይሉ ተቆልፎ ሳለ ለሁሉም ሌሎች ገንቢዎች ተነባቢ-ብቻ ሆኖ ይቆያል፣ እና በእሱ ላይ ለውጦችን ለማድረግ የሚደረግ ማንኛውም ሙከራ በአገልጋዩ ተቀባይነት አላገኘም። በቴክኒክ, ማገድ በተለያየ መንገድ ሊደራጅ ይችላል. የሚከተለው ዘዴ ለዘመናዊ ስርዓቶች የተለመደ ነው.

በፕሮጄክት ውስጥ ያሉት ሁሉም ወይም አብዛኛዎቹ ፋይሎች ሊቆለፉ በሚችሉበት ጊዜ እና ለማንኛውም ለውጦች ተጓዳኝ የፋይል ስብስቦችን መቆለፍ አስፈላጊ በሚሆንበት ጊዜ የመቆለፊያዎች ትልቅ አጠቃቀም “የተቆለፈ ቼክአውት” ተብሎም ይጠራል። ቀደምት ስርዓቶችየስሪት ቁጥጥር ይህንን ስልት በብቸኝነት ይደግፈዋል፣ ስለዚህም በቡድ ውስጥ ግጭቶች እንዳይፈጠሩ ይከላከላል። በዘመናዊ ቪሲኤስ ውስጥ፣ የማይከለክሉ መልሶ ማግኛዎችን መጠቀም ይመረጣል፣ ማገድ በተቻለ መጠን መገደብ ያለበት እንደ አስፈላጊ ክፋት ይቆጠራል። መቆለፊያዎችን የመጠቀም ጉዳቶች ግልፅ ናቸው-

  • መቆለፊያዎች በቀላሉ በምርታማነት ላይ ጣልቃ ይገባሉ, ምክንያቱም የተቆለፉ ፋይሎች እስኪለቀቁ ድረስ እንዲጠብቁ ስለሚያስገድዱ, ምንም እንኳን በአብዛኛዎቹ ሁኔታዎች እንኳን የጋራ ለውጥበተለያዩ ትርጉሞች ሥራ ሂደት ውስጥ የተሰሩ ተመሳሳይ ፋይሎች አይገናኙም እና ሲዋሃዱ በራስ-ሰር ይጣመራሉ።
  • የግጭቶች ድግግሞሽ እና የአፈታታቸው ውስብስብነት በአብዛኛዎቹ ጉዳዮች ላይ ከባድ ችግሮች ለመፍጠር ትልቅ አይደሉም። ከባድ የለውጥ ግጭት መፈጠር ብዙውን ጊዜ ከፍተኛ የአስተሳሰብ ልዩነትን ያሳያል የተለያዩ ገንቢዎችስለ ተመሳሳይ ቁርጥራጭ ንድፍ ወይም ስለ ሥራው የተሳሳተ አደረጃጀት (ሁለት ወይም ከዚያ በላይ ገንቢዎች ተመሳሳይ ነገር ሲያደርጉ)።
  • ማገድ አስተዳደራዊ ችግሮችን ይፈጥራል። ዓይነተኛ ምሳሌ፡ አንድ ገንቢ ለዕረፍት በሚሄድበት ጊዜ የተጠመደባቸውን ፋይሎች መክፈት ሊረሳው ይችላል። እንደነዚህ ያሉትን ችግሮች ለመፍታት በስርዓቱ ውስጥ ጨምሮ አስተዳደራዊ እርምጃዎችን መተግበር አስፈላጊ ነው ቴክኒካዊ መንገዶችየተሳሳቱ መቆለፊያዎችን እንደገና ለማስጀመር, ግን እነሱ ቢኖሩም, ስርዓቱን በቅደም ተከተል ለማስቀመጥ ጊዜ ይወስዳል.

በሌላ በኩል, በአንዳንድ ሁኔታዎች መቆለፊያዎችን መጠቀም በጣም ትክክለኛ ነው. ግልጽ የሆነ ምሳሌ ከሌሎቹ ሁለትዮሽ ፋይሎች ጋር የሥራ አደረጃጀት ነው መሳሪያዎችለውጦችን ማዋሃድ ወይም እንደዚህ አይነት ውህደት በመሠረቱ የማይቻል ነው (ለምሳሌ, ለምስል ፋይሎች). አውቶማቲክ ማዋሃድ የማይቻል ከሆነ, በተለመደው የአሠራር ሁኔታ, ተመሳሳይ በሆኑ ፋይሎች ላይ የሚደረጉ ትይዩ ለውጦች ወደ ግጭት ያመራሉ. በዚህ ሁኔታ, በእሱ ላይ የሚደረጉ ማናቸውም ለውጦች በቅደም ተከተል ብቻ እንደሚደረጉ ለማረጋገጥ እንዲህ ዓይነቱን ፋይል እንዲቆለፍ ማድረግ የበለጠ አመቺ ነው.

የፕሮጀክት ስሪቶች, መለያዎች

የስሪት ቁጥጥር ስርዓቱ የሁሉንም ነባር የፋይሎች ስሪቶች ማከማቻን ያረጋግጣል እናም በዚህ ምክንያት ከእድገቱ መጀመሪያ ጀምሮ የተከሰቱት ሁሉም የፕሮጀክቱ ስሪቶች በአጠቃላይ። ነገር ግን በተለያዩ ስርዓቶች ውስጥ ያለው የ "ስሪት" ጽንሰ-ሐሳብ በሁለት መንገድ ሊተረጎም ይችላል.

አንዳንድ ስርዓቶች ሥሪትን ይደግፋሉ ፋይሎች. ይህ ማለት በፕሮጀክቱ ውስጥ የሚታየው ማንኛውም ፋይል የራሱን የስሪት ቁጥር ይቀበላል (ብዙውን ጊዜ ቁጥር 1; ሁኔታዊው "ዜሮ" የፋይል ስሪት ተመሳሳይ ስም ያለው ባዶ ፋይል ነው). አንድ ገንቢ በፋይል ላይ ለውጦችን ባደረገ ቁጥር፣ የተደረጉ ለውጦች ተዛማጅ ክፍል በፋይሉ ላይ ይተገበራል እና ፋይሉ አዲስ ፣ ብዙ ጊዜ ተከታታይ ፣ የስሪት ቁጥር ይቀበላል። ወንጀሎች ብዙውን ጊዜ በማከማቻው ውስጥ ያሉትን የፋይሎች የተወሰነ ክፍል ብቻ ስለሚጎዱ በተመሳሳይ ጊዜ የሚገኙት የፋይሎች ሥሪት ቁጥሮች በጊዜ ሂደት ይለያያሉ እና ፕሮጀክቱ በአጠቃላይ (ማለትም በማከማቻው ውስጥ ያሉት አጠቃላይ የፋይሎች ስብስብ) ይሠራል ። በእውነቱ ምንም “የስሪት ቁጥር” የለውም ፣ ምክንያቱም እሱ የተለያዩ የስሪት ቁጥሮች ያላቸው ብዙ ፋይሎችን ስላቀፈ ነው። ለምሳሌ, የሲቪኤስ ስሪት ቁጥጥር ስርዓት በተመሳሳይ መንገድ ይሰራል.

ለሌሎች ስርዓቶች, የ "ስሪት" ጽንሰ-ሐሳብ የሚያመለክተው የግለሰብ ፋይል አይደለም, ግን ወደ ማከማቻሙሉ በሙሉ። አዲስ የተፈጠረ ባዶ ማከማቻ ስሪት 1 ወይም 0 አለው፣ ማንኛውም ለውጦች መፈጸም ወደዚህ ቁጥር መጨመር ያመራል (ይህም አንድ ፋይል በአንድ ባይት ቢቀየርም አጠቃላይ ማከማቻው እንደተቀየረ ይቆጠራል እና አዲስ ስሪት ቁጥር ይቀበላል)። የስሪት ቁጥሮች የሚተረጎሙት በዚህ መንገድ ነው፣ ለምሳሌ፣ በ Subversion system። የነጠላ ፋይል ሥሪት ቁጥር እዚህ የለም፣ አሁን ያለውን የማከማቻ ሥሪት ቁጥር እንደ ሁኔታው ​​አድርገን ልንቆጥረው እንችላለን (ይህም በማጠራቀሚያው ላይ በተደረጉ ለውጦች ሁሉ ሁሉም ፋይሎቹ ስሪቱን ይለውጣሉ ብለን እንገምታለን። ቁጥር, ምንም እንኳን ያልተለወጡ). አንዳንድ ጊዜ በእንደዚህ ያሉ ስርዓቶች ውስጥ ስለ "ፋይል ሥሪት" ሲናገሩ ፋይሉ ለመጨረሻ ጊዜ የተሻሻለበት (ለእኛ ፍላጎት ከነበረበት ጊዜ በፊት) የማከማቻው ስሪት ማለት ነው.

ለተግባራዊ ዓላማዎች ብዙውን ጊዜ ጉዳዩ የግለሰብ ፋይል አይደለም ፣ ግን አጠቃላይ ፕሮጀክቱ። ስሪትን በሚደግፉ ስርዓቶች ውስጥ ፋይሎችን መለየት, ለመለየት የተወሰነ ስሪትፕሮጀክት ፣ ቀን እና ሰዓት መጠቀም ይችላሉ - ከዚያ የፕሮጀክት ሥሪት በተጠቀሰው ጊዜ ውስጥ በማከማቻው ውስጥ የነበሩትን በውስጡ የተካተቱትን የፋይሎች ስሪቶች ያካትታል። የማጠራቀሚያው ቅጂ በአጠቃላይ የሚደገፍ ከሆነ፣ የፕሮጀክት ሥሪት ቁጥሩ የማከማቻ ሥሪት ቁጥር ሊሆን ይችላል። ይሁን እንጂ የማከማቻው ቀንም ሆነ የስሪት ቁጥር አብዛኛውን ጊዜ በፕሮጀክቱ ውስጥ ስላሉ ለውጦች፣ ለምን ያህል ጊዜ እና በትጋት እንደሰሩ መረጃ ስለሌለ ሁለቱም አማራጮች በጣም ምቹ አይደሉም። የፕሮጀክት ስሪቶችን (ወይም ክፍሎቹን) በበለጠ ምቹ ምልክት ለማድረግ የስሪት ቁጥጥር ስርዓቶች ሃሳቡን ይደግፋሉ tags.

መለያበማከማቻው ውስጥ ካለ ፋይል እና/ወይም ማውጫ ጋር ሊዛመድ የሚችል ተምሳሌታዊ መለያ ነው። ተገቢውን ትእዛዝ በመጠቀም የተወሰኑ ሁኔታዎችን የሚያሟሉ የፕሮጀክት ፋይሎች በሙሉ ወይም በከፊል (ለምሳሌ በፕሮጀክቱ ዋና ቅርንጫፍ በተወሰነ ጊዜ ውስጥ በዋናው ሥሪት ውስጥ የተካተቱ) የተሰየመ መለያ ሊመደብ ይችላል። በዚህ መንገድ የፕሮጀክቱን ስሪት መለየት ይችላሉ (ስሪት "XX.XXX.XXX" በ "XX.XXX.XXX" የሚል መለያ ያላቸው የማከማቻ ፋይሎች ስሪቶች ስብስብ ነው), ስለዚህ ሁኔታውን በተወሰነ ጊዜ ያስተካክላል. እንደ ደንቡ ፣ የመለያ ስርዓቱ በጣም ተለዋዋጭ ነው እና ብዙ የፋይሎችን እና ማውጫዎችን በአንድ መለያ መለያ እንዲሰጡ ያስችልዎታል። ይህ በማንኛውም የዘፈቀደ መንገድ "የፕሮጀክት ስሪት" እንዲገነቡ ያስችልዎታል. ከስርዓት ተጠቃሚ እይታ አንጻር መለያ መስጠት የተለየ ሊመስል ይችላል። በአንዳንድ ስርዓቶች ልክ እንደ ማርክ (መለያ ሊፈጠር፣ በተወሰኑ የፋይሎች እና ማውጫዎች ስሪቶች ላይ ሊተገበር ወይም ሊወገድ ይችላል)። በሌሎች ሲስተሞች (ለምሳሌ ፣ Subversion) ፣ መለያ በቀላሉ በማከማቻ የፋይል ዛፉ ውስጥ የተለየ ማውጫ ነው ፣ አስፈላጊዎቹ የፋይሎች ስሪቶች ቅጂዎች ከግንዱ እና ከፕሮጄክቱ ቅርንጫፎች የቅጂ ትዕዛዙን በመጠቀም የተሰሩ ናቸው ። ስለዚህ በእይታ ፣ መለያ በቀላሉ በተለየ ማውጫ ውስጥ የተቀመጡት የማከማቻ ፋይሎች የተወሰኑ ስሪቶች ቅጂ ነው። በስምምነት፣ ከመለያው ጋር የሚዛመደው የማውጫ ዛፍ ለውጦችን እንዲያደርግ አይፈቀድለትም (ይህም በመለያው የተወከለው የፕሮጀክቱ ሥሪት የማይለወጥ ነው)።

በ VCS ውስጥ የሶፍትዌር ልማት መሰረታዊ መርሆች

በእያንዳንዱ የተለየ ጉዳይ ላይ የስሪት ቁጥጥር ስርዓትን የመጠቀም ሂደት የሚወሰነው ፕሮጀክቱን በሚያዘጋጀው የተወሰነ ኩባንያ ወይም ድርጅት በተወሰዱ ቴክኒካዊ ደንቦች እና ደንቦች ነው. ሆኖም፣ የቪሲኤስን ትክክለኛ አጠቃቀም አጠቃላይ መርሆዎች ጥቂት እና ለሁሉም የእድገት እና የስሪት ቁጥጥር ስርዓቶች ተመሳሳይ ናቸው።

  1. ማንኛውም የሚሰራ, ሙከራ ወይም የማሳያ ስሪቶችፕሮጀክቶች የሚሰበሰቡት ከስርዓቱ ማከማቻ ብቻ ነው። ገና ያልተደረጉ ለውጦችን የሚያካትቱ "የግል" ግንባታዎች በገንቢዎች ሊደረጉ የሚችሉት ለጊዜያዊ ለሙከራ ዓላማ ብቻ ነው። ይህ ማከማቻው ለመፍጠር የሚያስፈልጉትን ነገሮች ሁሉ መያዙን ያረጋግጣል የሚሰራ ስሪትፕሮጀክት.
  2. የአሁኑ የዋናው ቅርንጫፍ ስሪት ሁል ጊዜ ትክክል ነው። በዋናው ቅርንጫፍ ላይ ያልተሟሉ ወይም ቢያንስ የመጀመሪያ ደረጃ ፈተናዎችን ያላለፉ ለውጦችን ማድረግ አይፈቀድም. በማንኛውም ጊዜ ፕሮጀክቱን ከአሁኑ ስሪት መገንባት ስኬታማ መሆን አለበት.
  3. ማንኛውም ጉልህ ለውጥ እንደ የተለየ ቅርንጫፍ መመዝገብ አለበት። መካከለኛ ውጤቶችየገንቢው ስራ ለዚህ ቅርንጫፍ ቁርጠኛ ነው። ለውጡ ከተጠናቀቀ በኋላ ቅርንጫፉ ከግንዱ ጋር ይቀላቀላል. ልዩ ሁኔታዎች የሚፈቀዱት ለጥቃቅን ለውጦች ብቻ ነው, ሥራው በአንድ ገንቢ ከአንድ የሥራ ቀን ባልበለጠ ጊዜ ውስጥ ይከናወናል.
  4. የፕሮጀክት ስሪቶች በመለያዎች ምልክት ተደርጎባቸዋል። የደመቀው እና መለያ የተደረገበት ስሪት ዳግም አይቀየርም።

የተከፋፈለ ስሪት ቁጥጥር ስርዓቶች

አሻሽል አዲስ ስሪት ሳይፈጥሩ ለውጦችን ያድርጉ - ብዙውን ጊዜ ገንቢው በስህተት ሲሰራ ( የፕሮጀክት ማሻሻያ ገንቢው በፕሮጀክቱ ገለፃ መሰረት የተካተቱትን ፋይሎች በስራ ቅጂው ውስጥ በመቀየር ፕሮጀክቱን ያስተካክላል። ይህ ስራ በአገር ውስጥ ነው የሚሰራው እና ወደ ቪሲኤስ አገልጋይ ጥሪ አያስፈልግም።ሥሪት ፣ ግን አልተጫነም ( መግፋት) ወደ አገልጋዩ። ተወቃሽ ማን ለውጡን እንዳደረገ ይረዱ።ቅርንጫፍ ቅርንጫፍ ከሌሎች ነፃ የሆነ የእድገት አቅጣጫ ነው። ቅርንጫፍ ሌሎች ቅርንጫፎችን ሳይነኩ የራስዎን ለውጦች ማድረግ የሚችሉበት የማከማቻው ክፍል (ብዙውን ጊዜ አንድ ማውጫ) ቅጂ ነው። በተለያዩ ቅርንጫፎች ውስጥ ያሉ ሰነዶች ከቅርንጫፉ ነጥብ በፊት ተመሳሳይ ታሪክ አላቸው እና ከእሱ በኋላ የተለያዩ ናቸው. changeet, changelist, እንቅስቃሴ ለውጦች ስብስብ. ለጋራ ዓላማ በአካባቢያዊ ቅጂ ላይ የተሰየመ የአርትዖት ስብስብን ይወክላል። የአርትዖት ስብስቦችን በሚደግፉ ስርዓቶች ውስጥ፣ ገንቢው የአካባቢ አርትዖቶችን መቧደን እና በአንዲት ትእዛዝ አመክንዮአዊ ተዛማጅ ለውጦችን ማድረግ ይችላል፣ የሚፈለገውን የአርትዖት ስብስብ እንደ መለኪያ ይገልፃል። ሆኖም፣ ሌሎች አርትዖቶች ሳይስተካከሉ ይቆያሉ። አንድ የተለመደ ምሳሌ፡ አዲስ ተግባርን ለመጨመር እየሰሩ ነው፣ እና በዚህ ጊዜ አንድ ወሳኝ ስህተት ወዲያውኑ የሚያስፈልገው ተገኝቷል። ገንቢው አስቀድሞ ለተሰራው ስራ ለውጥ እና አዲስ ለማረም ስብስብ ይፈጥራል። የስህተት እርማት ሲጠናቀቅ፣ ሁለተኛውን የአርትዖት ስብስብ ብቻ እንዲሰራ ትእዛዝ ተሰጥቷል።ተመዝግበው ይግቡ፣ ያስገቡ፣ ያስገቡ አዲስ ስሪት ይፍጠሩ፣ ለውጦችን ያድርጉ። በአንዳንድ SUVs (እ.ኤ.አ.) ማፈራረስእነሱን ሳያዋህዱ ወደ ሌላ ቅርንጫፍ. ለምሳሌ, በሙከራው ቅርንጫፍ ውስጥ ሳንካ ካስተካከልን, በተረጋጋው ግንድ ላይ ተመሳሳይ ለውጦችን እናደርጋለን. ራስ ዋናው ስሪት በጣም ብዙ ነውየቅርብ ጊዜ ስሪት ተወቃሽ ማን ለውጡን እንዳደረገ ይረዱ።በማከማቻ ውስጥ ለሚገኝ ቅርንጫፍ / ግንድ. ቅርንጫፎች እንዳሉት ብዙ ዋና ስሪቶች አሉ። ውህደት፣ ውህደት መቀላቀል ነጻ የሆኑ ለውጦችን ወደ አንድ የሰነድ እትም ማዋሃድ ነው። ሁለት ሰዎች አንድ አይነት ፋይል ሲቀይሩ ወይም ከአንድ ቅርንጫፍ ወደ ሌላ ሲቀይሩ ይከሰታል።ይጎትቱ፣ ያዘምኑ አዳዲስ ስሪቶችን ከማጠራቀሚያው ያግኙ። በአንዳንድ SUVs (እ.ኤ.አ.) ) - ይከሰታል እናመጎተት , እናመቀየር አዘምን, ማለትም ለውጦች ተጭነዋል, እና ከዚያ የስራ ቅጂው ወደ የቅርብ ጊዜው ሁኔታ ይመጣል. ተወቃሽ ማን ለውጡን እንዳደረገ ይረዱ።ጠንቀቅ በል , ጽንሰ-ሐሳብአሻሚ እና ውስጥ እና, , ጽንሰ-ሐሳብሜርኩሪል የፕሮጀክት ማሻሻያ ገንቢው በፕሮጀክቱ ገለፃ መሰረት የተካተቱትን ፋይሎች በስራ ቅጂው ውስጥ በመቀየር ፕሮጀክቱን ያስተካክላል። ይህ ስራ በአገር ውስጥ ነው የሚሰራው እና ወደ ቪሲኤስ አገልጋይ ጥሪ አያስፈልግም።የተለየ ማለት ነው። ግፋ አዳዲስ ስሪቶችን ወደ ማከማቻው ስቀል። ብዙ የተከፋፈሉ SUVs (ጊት መግፋት) እንደሆነ መገመት መግፋትፕሮግራም አውጪው አንዳንድ የተሟላ ተግባራትን ባጠናቀቀ ቁጥር መሰጠት አለበት። እና በይነመረብ ሲኖር ይስቀሉት እና ሌሎች ለውጦችዎን ይፈልጋሉ። ውህደትቁርጠኝነት ብዙውን ጊዜ የተጠቃሚ ስም እና የይለፍ ቃል ማስገባት አያስፈልግም, እና- ይጠይቃል. ብዙውን ጊዜ የተጠቃሚ ስም እና የይለፍ ቃል ማስገባት አያስፈልግም, እናአይመከርም።

ማከማቻ፣ ዴፖ ሰነድ ማከማቻ የስሪት ቁጥጥር ስርዓቱ ሁሉንም ሰነዶች ከማሻሻያ ታሪካቸው እና ከሌሎች የአገልግሎት መረጃዎች ጋር የሚያከማችበት ቦታ ነው።

  • ክለሳ ሰነድ ስሪት. የስሪት ቁጥጥር ስርዓቶች ስሪቶችን በራስ-ሰር በተመደቡ ቁጥሮች ይለያሉ።
  • መደርደሪያ የመደርደሪያ ለውጦች. አንዳንድ ስርዓቶች ለውጥን ለመፍጠር እና ሳያደርጉት በአገልጋዩ ላይ ለማስቀመጥ ችሎታ ይሰጣሉ። የዘገየ የለውጥ ስብስብ በሌሎች የፕሮጀክት አባላት ለማንበብ ይገኛል፣ ነገር ግን ልዩ ቡድን እስካላደረገ ድረስ በዋናው ቅርንጫፍ ውስጥ አይካተትም። ለውጦችን ለሌላ ጊዜ ማስተላለፍ ድጋፍ ተጠቃሚዎች ለዚህ የተለየ ቅርንጫፎችን ሳይፈጥሩ በአገልጋዩ ላይ ያልተጠናቀቁ ስራዎችን እንዲያድኑ ያስችላቸዋል.

የስሪት ቁጥጥር ስርዓቶች በፋይሎች ላይ ብዙ ለውጦችን ይመዘግባሉ እና ያስቀምጣሉ። ይህ በፋይል ወይም በፕሮጀክት ላይ የተደረጉ ለውጦች ታሪክ ውስጥ ወደ አንድ የተወሰነ ነጥብ እንዲመለሱ ያስችልዎታል። እንደ መሻር ያሉ አንዳንድ ስርዓቶች የግለሰብ ፋይሎችን ታሪክ ይከታተላሉ። ሌሎች እንደ Git እና Mercurial ያሉ የጠቅላላ ማከማቻዎችን ታሪክ ይከታተላሉ።

የስሪት ቁጥጥር እንደ የደህንነት ስርዓት ነው። በኋላ ላይ ችግር የሚፈጥሩ ለውጦችን ካደረጉ, ከባዶ ከመጀመር ይልቅ ፋይሉን ወይም አጠቃላይውን ፕሮጀክት ወደ አንድ ቦታ መመለስ ይችላሉ.

በብዛት ጥቅም ላይ ከሚውሉት አማራጮች አንዱ የአካባቢ ስሪት ነው። ስለዚህ፣ ከመተግበሪያው በርካታ ተግባራት ውስጥ አንዱ ስለሆነ አብዛኛው ተጠቃሚዎች በቀላሉ ትኩረት አይሰጡትም።

እያንዳንዱ አፕሊኬሽን የመቀልበስ እና የመድገም ተግባራትን ያቀፈ ቢያንስ መሰረታዊ የአካባቢያዊ ስሪት ደረጃን ይተገበራል። እንደ አንዳንድ ፕሮግራሞች ማይክሮሶፍት ኦፊስእና Google Docs፣ እንደ የስሪት ንጽጽር እና አስተያየት መስጠት ያሉ የላቁ ባህሪያትን ይዘዋል።

የመተግበሪያ ሥሪት ቁጥጥር ስርዓቶች በሚደግፏቸው የፋይል አይነቶች እና በማከማቸት በሚችሉት የለውጥ ታሪክ መጠን የተገደቡ ናቸው። የነጠላ ሥሪት ቁጥጥር ስርዓቶች፣ በሌላ በኩል፣ ይበልጥ ውስብስብ በሆኑ ባህሪያት ላይ ሊያተኩሩ፣ ማለቂያ የሌላቸውን የስሪት ታሪኮችን ሊያከማቹ እና በተወሰኑ ቅርጸቶች ብቻ የተገደቡ አይደሉም። ምንም እንኳን አንዳንድ ስርዓቶች ለተወሰኑ ፋይሎች የተሻሉ ቢሆኑም. በዚህ ምክንያት, በፕሮግራም ውስጥ በጣም ታዋቂ ናቸው. ምንም እንኳን የማንኛውም ፋይል ስሪቶችን ለመቆጣጠር ጥቅም ላይ ሊውሉ ቢችሉም, ከመሠረታዊ የጽሑፍ ሰነዶች እስከ ግዙፍ ግራፊክስ ፋይሎች.

የስሪት ቁጥጥር ስርዓቶች በሁለት ምድቦች ይከፈላሉ: የተከፋፈለ እና የተማከለ. እያንዳንዳቸው ለተለያዩ የስራ ሂደቶች ተስማሚ እንዲሆኑ የሚያደርጋቸው የራሱ ጥቅሞች እና ጉዳቶች አሉት. እያንዳንዱ አይነት ብዙ የተለያዩ ስርዓቶችን ያካትታል. በጣም ታዋቂው የስሪት ቁጥጥር ስርዓቶች Git, Subversion እና Mercurial ናቸው. በተከፋፈለ እና በተማከለ የስሪት ቁጥጥር መካከል ያሉትን ዋና ዋና ልዩነቶች እንይ።

የተከፋፈለ እትም

የተከፋፈለ ስሪት ቁጥጥር የተከፋፈለ የክለሳ ቁጥጥር በመባልም ይታወቃል። በአንጓዎች እኩልነት መርህ ላይ የተገነባ ነው. ከዚህም በላይ እያንዳንዱ የእኩያ መስቀለኛ መንገድ የእቃ ማከማቻው የራሱ ክሎኑ አለው. በዚህ አቀራረብ ፣ የኮዱ መሠረት ታሪክ ይገለበጣል ፣ ስለዚህ ማንኛውም ገዳይ ጉዳት በዋናው ፣ በአገልጋይ-ጎን ማከማቻ ላይ ካሉት ክሎኖች ሙሉ በሙሉ ወደነበረበት ሊመለስ ይችላል። ነገር ግን, በመደበኛ የስራ ሂደት ውስጥ, በማከማቻው ላይ የተደረጉ ለውጦች የማከማቻውን ሙሉ ማሻሻያ አያደርጉም. በምትኩ, በእኩዮች ላይ የተደረጉ ለውጦች ብቻ ይታያሉ, ይህም አገልጋዩን ሳያገናኙ በፍጥነት ስራዎችን እንዲያከናውኑ ያስችልዎታል.

እንደ Git እና Mercurial ላሉ ስርዓቶች የተከፋፈለ ስሪት ቁጥጥር ታዋቂ ነው። በክፍት ምንጭ ፕሮጀክቶች ውስጥ ትብብርን ለማደራጀት በሰፊው ጥቅም ላይ ይውላሉ. ምንጭ ኮድ. በማዋቀሩ ባህሪ ምክንያት ለእያንዳንዱ የእኩያ ስርዓት ሙሉውን የፕሮጀክት ኮድ መሰረትን መዝጋት የስራ ፍሰቶችን እና ትብብርን በተመለከተ የበለጠ ነፃነት እንዲኖር ያስችላል.

የተማከለ ስሪት ቁጥጥር

ከተከፋፈለው የስሪት ቁጥጥር እና ከአካባቢያዊ ስሪት ቁጥጥር በተለየ፣ በማዕከላዊ የስሪት ቁጥጥር ስርዓቶች ውስጥ ያለ ውሂብ ( ሲ.ቪ.ሲ.እንደ Perforce እና Subversion ያሉ በአገልጋይ ጎን ማከማቻዎች ውስጥ ተከማችተዋል። ይህ ማለት እያንዳንዱ መስቀለኛ መንገድ ፋይሎችን ይፈትሻል እና በማዕከላዊ የውሂብ ጎታ ላይ ለውጦችን ያደርጋል።

ችግሩ የመረጃ መገኘት ነው። ፋይሎቹ በማዕከላዊ ማከማቻ ውስጥ ስለሚቀመጡ፣ አገልጋዩ ከተበላሸ፣ አገልጋዩ እንደገና እስካልጀመረ ድረስ ምንም ስራ ሊሰራ አይችልም። ከዚህም በላይ አገልጋዩ ከተበላሸ, ከዚያ ወቅታዊ የሆነ የመጠባበቂያ ቅጂ ከሌለ, ሁሉም መረጃዎች ሙሉ በሙሉ ሊጠፉ ይችላሉ.

የእንደዚህ አይነት ስርዓቶች ዋነኛው ጠቀሜታ መረጃው በአንድ ቦታ ላይ መቀመጡ ነው. ይህ ጥገናን ቀላል ያደርገዋል እና የተጠቃሚ መዳረሻን ይገድባል።

ማጠቃለያ

የስሪት ቁጥጥር በፋይሎች እና በፕሮጀክቶች ላይ የተደረጉ ለውጦችን ለመቆጣጠር ምቹ መንገድ ነው። ምንም እንኳን የስሪት ቁጥጥር ስርአቶች በዋናነት ለገበያ የሚቀርቡት የሶፍትዌር ልማት ፕሮጀክቶችን ለማስተዳደር እንደ መሳሪያ ቢሆንም ማንኛውንም አይነት ፋይል ለማስተዳደር ጠቃሚ ሊሆኑ ይችላሉ።

ወዳጃዊ የፕሮጀክት ቡድን "ስሪት ቁጥጥር ምንድን ነው" የሚለውን መጣጥፍ ትርጉም.

ጥሩ መጥፎ

በለካኋቸው ቀዶ ጥገናዎች ሁሉ፣ ሜርኩሪል ከሱቨርሽን የተሻለ አከናውኗል። በሚመጣበት ጊዜ ፍጥነቱ ከ2-6 እጥፍ ይበልጣል አካባቢያዊማፍረስ 1.4.3 ማከማቻዎች (በጣም ፈጣን ዘዴመዳረሻ)። የአውታረ መረብ ማከማቻን ይበልጥ በተጨባጭ የአጠቃቀም ሁኔታ፣ ማሻገር በጣም በከፋ ሁኔታ ላይ ነው። የሱቨርሽን ትዕዛዞች ከአገልጋዩ ጋር መገናኘት ስላለባቸው እና ማሻሻያ ጠቃሚ የማባዛት አቅም ስለሌለው የአገልጋይ አፈፃፀም እና የኔትወርክ ባንድዊድዝ ለአነስተኛ ፕሮጀክቶች እንኳን ማነቆዎች ይሆናሉ።

በተጨማሪም, Subversion የተወሰኑ ስራዎችን በሚሰራበት ጊዜ የአውታረ መረብ ጥያቄዎችን ለማስወገድ ተጨማሪ የዲስክ ቦታ ያስፈልገዋል-የተሻሻሉ ፋይሎችን መፈለግ (ሁኔታ) እና ለውጦችን ማሳየት (ዲፍ). በውጤቱም, የሱቨርሲዮን የስራ ቅጂ ከሜርኩሪል ማከማቻ እና የስራ ዳይሬክተሩ ጥምር መጠን (ከማይበልጥ) ተመሳሳይ ነው, ምንም እንኳን የመርከሪል ክምችት የፕሮጀክቱን ሙሉ ታሪክ የያዘ ቢሆንም.

ማፍረስ ሰፊ የመሳሪያ ድጋፍ አለው። የሶስተኛ ወገን አምራቾች. በዚህ ረገድ, ሜርኩሪል አሁን በከፍተኛ ሁኔታ ወደ ኋላ ቀርቷል. ምንም እንኳን ክፍተቱ እየተዘጋ ቢሆንም፣ አንዳንድ የ GUI መገልገያዎች ለ Mercurial ከሱቨርሽን አቻዎቻቸው የላቁ ናቸው። እንደ Mercurial፣ Subversion በጣም ጥሩ የተጠቃሚ መመሪያ አለው።

Subversion በደንበኛው ላይ የለውጥ ታሪክን ስለማያከማች ብዙ ቁጥር ያላቸው ሁለትዮሽ ፋይሎችን የያዙ ፕሮጀክቶችን ለማስተዳደር በጣም ተስማሚ ነው። በማይጨበጥ አስር ሜጋባይት ፋይል ላይ 50 ለውጦችን ካደረጉ፣ Subversion የሚጠቀመው የዲስክ ቦታ ሳይለወጥ ይቆያል። በማናቸውም የተከፋፈለ የስሪት ቁጥጥር ስርዓት የሚጠቀመው ቦታ ከለውጦቹ ብዛት አንጻር በፍጥነት ይጨምራል ምክንያቱም በአርትዖቶች መካከል ያለው ልዩነት ትልቅ ነው።

በተጨማሪም, ብዙውን ጊዜ ለማፍሰስ አስቸጋሪ ነው, እና ብዙ ጊዜ እንኳን የማይቻል ነው የተለያዩ ስሪቶችሁለትዮሽ ፋይል. ማሽቆልቆል ተጠቃሚው አንድን ፋይል እንዲቆልፍ ያስችለዋል፣ ይህም ለተጠቃሚው ለውጦችን ለማድረግ ለጊዜው ልዩ መብቶችን ይሰጣል። ይህ ሁለትዮሽዎችን በስፋት ለሚጠቀም ፕሮጀክት ትልቅ ጥቅም ሊሆን ይችላል.

ሜርኩሪል የለውጥ ታሪክን ከ Subversion ማከማቻ ማስመጣት ይችላል። የተገላቢጦሽ ሂደትም ይቻላል. ይህ ለመቀያየር ወይም ላለመቀያየር ከመወሰኑ በፊት ውሃውን ለመፈተሽ እና Mercurial and Subversion በአንድ ጊዜ ለመጠቀም ያስችላል። ታሪክን መለወጥ የደረጃ በደረጃ ሂደት ነው፣ ስለዚህ የመጀመሪያውን ልወጣ ማድረግ እና ከዚያ ተጨማሪ ለውጦችን ማድረግ ይችላሉ።

1.6.2. ጊት

Git የምንጭ ኮድ አስተዳደር ተብሎ የተነደፈ የተከፋፈለ የስሪት ቁጥጥር ስርዓት ነው። የሊኑክስ ኮርነሎች. እንደ ሜርኩሪል ፣ የስርዓቱ የመጀመሪያ ንድፍ በሞኖቶን ተጽዕኖ አሳድሯል።

Git ትልቅ የትዕዛዝ ዝርዝር ያቀርባል, ቁጥራቸው በስሪት 1.5.0 ውስጥ 139 ልዩ ክፍሎች ይደርሳል. ለመማር አስቸጋሪ በመሆን ስም አለው. ከጂት ጋር ሲነጻጸር, ሜርኩሪል ቀላልነትን ያጎላል.

በአፈጻጸም ረገድ, Git በጣም ፈጣን ነው. በአንዳንድ ሁኔታዎች ከሜርኩሪል የበለጠ ፈጣን ነው (በ ቢያንስበሊኑክስ ስር) ፣ በሌሎች ውስጥ Mercurial ፈጣን ነው። ሆኖም በዊንዶውስ ላይ ሁለቱም የአፈፃፀም እና አጠቃላይ የድጋፍ ደረጃዎች, በሚጽፉበት ጊዜ, Git ከ Mercurial በጣም የከፋ ነው.

የሜርኩሪል ማከማቻ ምንም አይነት ክዋኔ ባይፈልግም። ጥገና፣ የጊት ማከማቻ ተደጋጋሚ መመሪያ ይፈልጋል "እንደገና ማሸግ"የራሱ ሜታዳታ። ይህን ካላደረጉት, አፈጻጸም መውደቅ ይጀምራል, ፍጆታ የዲስክ ቦታ መጠን መጨመር ጋር. ብዙ የጊት ማከማቻዎችን የያዘ የአገልጋይ ዲስክ አደራደር፣ ከዚህ ጋር በተያያዘ የተደጋጋሚ ጥብቅ ህግ "እንደገና ማሸግ", ይዋል ይደር እንጂ ይዘጋሉ, ይህም በየቀኑ የመጠባበቂያ ሂደት በቀላሉ ከ 24 ሰዓታት በላይ ይወስዳል. ልክ አሁን "የታሸገ"የጂት ማከማቻ ቦታ ከሜርኩሪል ማከማቻ ትንሽ ያነሰ ቦታ ይወስዳል ነገር ግን ያልታሸገው ማከማቻ መጠን ብዙ ትእዛዞችን ትልቅ ይሆናል።

የ Git ኮር በ C ውስጥ ተጽፏል. ብዙ የ Git ትዕዛዞች በቅጹ ውስጥ ተተግብረዋል የሼል ስክሪፕቶችወይም የፐርል ስክሪፕቶች፣ እና የእነዚህ ስክሪፕቶች የጥራት ደረጃ በእጅጉ ይለያያል። ገዳይ ስህተቶች ቢኖሩም ስክሪፕቶች በቀላሉ መስራታቸውን የሚቀጥሉባቸውን ብዙ ጭነቶች አይቻለሁ።

Mercurial የስሪት ታሪክን ከ Git ማከማቻ የማስመጣት ችሎታ ይሰጣል።

1.6.3. ሲቪኤስ

ሲቪኤስ ምናልባት በአለም ላይ በብዛት ጥቅም ላይ የዋለው የስሪት ቁጥጥር ስርዓት ነው። በተከበረ ዕድሜው እና በውስጥም በነገሠው ትርምስ ምክንያት ለብዙ ዓመታት በጣም በጥሩ ሁኔታ ተጠብቆ ቆይቷል።

ሲቪኤስ የተማከለ፣ ደንበኛ-አገልጋይ አርክቴክቸር ነው። መቧደን አይሰራም የፋይል ለውጦችወደ አቶሚክ መፈጸም፣ በዚህም ሰዎች በቀላሉ እንዲሰሩ ያስችላቸዋል "ግንባታውን ሰብረው": አንድ ሰው በተሳካ ሁኔታ በማከማቻው ላይ ያለውን ለውጥ በከፊል ማድረግ እና ከዚያ ውህደትን ማከናወን ስለሚያስፈልገው ሊቆለፍ ይችላል. ይህም የተቀሩት ተሳታፊዎች ሊያዩት ከነበረው ለውጥ ውስጥ ጥቂቱን ብቻ ወደሚመለከቱበት ሁኔታ ይመራል። ይህ ባህሪ ከለውጥ ታሪክ ጋር እንዴት እንደሚሰሩም ይነካል። አንድ የተወሰነ ችግር ለመፍታት አንድ የቡድን አባል ያደረጋቸውን ለውጦች ሁሉ ማግኘት ከፈለጉ ለእያንዳንዱ የተጎዳው ፋይል የተደረጉትን ለውጦች መግለጫዎች እና ቀን እራስዎ መመርመር ያስፈልግዎታል (የትኞቹ ፋይሎች እንደተጎዱ እንኳን የሚያውቁ ከሆነ)።

ሲቪኤስ ግራ የሚያጋቡ የቅርንጫፎችን እና የመለያዎችን ፅንሰ-ሀሳቦችን ይመለከታል፣ በዚህ መጽሐፍ ውስጥ እንኳን ለመግለጽ የማልሞክር። ሁለቱንም ፋይሎች እና አቃፊዎች እንደገና መሰየምን አይደግፍም, ስለዚህ ማከማቻው በቀላሉ ሊጎዳ ይችላል. የውስጣዊ ታማኝነት ቁጥጥር ዘዴዎች በተግባር ስለሌሉ ፣ ማከማቻው ተጎድቷል ፣ እና ከሆነ ፣ ታዲያ እንዴት እንደሆነ በእርግጠኝነት ለመናገር ብዙ ጊዜ አይቻልም። ስለዚህ፣ ማንኛውም ነባር ወይም አዲስ ፕሮጀክቶች ውስጥ ጥቅም ላይ እንዲውል ሲቪኤስን አልመክርም።

Mercurial የሲቪኤስ ስሪት ታሪክን የማስመጣት ችሎታ ይሰጣል። ሆኖም፣ ማንኛውም ሌላ የሲቪኤስ ማስመጫ መሳሪያም የሚያጋጥማቸው ጥቂት ወጥመዶች እዚህ አሉ። የአቶሚክ ለውጦች እጥረት እና የሥርዓት ተዋረዳዊ የፋይል ስርዓት መረጃ የሲቪኤስ ለውጥ ታሪክን ሙሉ በሙሉ እንደገና ለመገንባት የማይቻል ያደርገዋል ፣ ስለሆነም ግምቶች በአንዳንድ ሁኔታዎች ይከሰታሉ እና ብዙውን ጊዜ እንደገና ስሞች አይታዩም። ብዙ የሲቪኤስ አስተዳደር ስራዎች በእጅ መከናወን ስላለባቸው የስህተቶችን ስጋት ስለሚጨምር የሲቪኤስ ማስመጫ መሳሪያ ብዙ የመረጃ ቋት ስህተቶችን መመለስ የተለመደ ነው (ሙሉ በሙሉ ከእውነታው የራቁ የስሪት ለውጥ ቀኖች እና ላለፉት አስር አመታት ተቆልፈው የቆዩ ፋይሎች - ይህ ከራሴ ተሞክሮ ማስታወስ የምችላቸው በጣም ጥቂት አስደሳች ችግሮች ናቸው)።

«

1.8. የስሪት ቁጥጥር አጭር ታሪክ

ከአሮጌው ስሪት መቆጣጠሪያ መገልገያዎች በጣም ዝነኛ የሆነው SCCS (የምንጭ ኮድ ቁጥጥር ስርዓት) ነው ፣ እሱም በ 70 ዎቹ መጀመሪያ ላይ በቤል ላብስ ማርክ ሮክኪንድ የተጻፈ። SCCS በግለሰብ ፋይሎች ላይ ይሰራል እና እያንዳንዱ በፕሮጀክት ላይ የሚሰራ ሰው ነጠላ እና የጋራ የስራ ቦታ እንዲያገኝ ጠይቋል። አንድ ሰው ብቻ ፋይልን በአንድ ጊዜ ማስተካከል ይችላል; የፋይል መዳረሻ ግጭቶች መቆለፊያዎችን በመጠቀም ተፈትተዋል. አንድ የተለመደ ሁኔታ ከአርትዖት በኋላ መቆለፊያውን ማስወገድ መርሳት ነበር, ይህም ሌሎች ሰዎች ያለ አስተዳዳሪ እገዛ ፋይሉን እንዳይደርሱበት ተከልክሏል.

ዋልተር ቲቺ በ1980ዎቹ መጀመሪያ ላይ ለ SCCS ነፃ አማራጭ አዘጋጀ። የእሱን ፕሮግራም RCS (የክለሳ ቁጥጥር ስርዓት) ብሎ ጠራው። እንደ SCCS፣ RCS ገንቢዎች ሁለቱም በአንድ የጋራ የስራ ቦታ ላይ እንዲሰሩ እና ፋይሎችን እንዲቆልፉ የተለያዩ ሰዎች በተመሳሳይ ጊዜ ፋይሎችን እንዳይቀይሩ ይፈልግ ነበር።

በኋላ፣ በ1980ዎቹ፣ ዲክ ግሩኔ RCS ን እንደ የሼል ስክሪፕቶች ስብስብ ተጠቀመ፣ መጀመሪያ ላይ cmt ተብሎ የሚጠራ እና በኋላም ሲቪኤስ (ተመጣጣኝ ስሪቶች ሲስተም) ተብሎ ተሰየመ። የሲቪኤስ ትልቁ ፈጠራ ገንቢዎች በአንድ ጊዜ እና በተወሰነ ደረጃም ቢሆን ራሳቸውን ችለው በራሳቸው የስራ ቦታዎች እንዲሰሩ መፍቀዱ ነበር። እነዚህ ቦታዎች ገንቢዎች እርስ በእርሳቸው ጣቶች ላይ በተከታታይ እንዳይረግጡ ከለከሏቸው፣ ይህም በSCCS እና RCS ውስጥ የተለመደ ነበር። እያንዳንዱ ገንቢ የእያንዳንዱን የፕሮጀክት ፋይል ቅጂ ነበረው፣ እና ገንቢዎች በግል ቅጂዎቻቸውን ማሻሻል ይችላሉ። ለውጦቹን ወደ ማዕከላዊው ማከማቻ ከማቅረቡ በፊት የራሳቸውን አርትዖቶች ማዋሃድ ነበረባቸው።

ብሪያን በርሊነር የግሩንን ኦሪጅናል ስክሪፕቶች ወስዶ በC እንደገና ፃፋቸው፣ በ1989 ኮዱን በመልቀቅ በኋላ ወደ መለወጥ ዘመናዊ ስሪትሲቪኤስ ሲቪኤስ በኋላ በአውታረ መረቡ ላይ የመስራት ችሎታን አግኝቷል, ደንበኛ-አገልጋይ አርክቴክቸር አግኝቷል. የሲቪኤስ አርክቴክቸር የተማከለ ነው፡ የፕሮጀክት ታሪክ ቅጂ ያለው አገልጋዩ ብቻ ነው። የደንበኛ የሚሰሩ ቅጂዎች አገልጋዩን ለማግኘት የቅርብ ጊዜውን ስሪት ፋይሎች እና አነስተኛ መጠን ያለው ሜታዳታ ብቻ ነው የያዙት። ሲቪኤስ ከዚህ በፊት ታይቶ የማያውቅ ስኬት አስመዝግቧል፡ ምናልባት በአለም ላይ በብዛት ጥቅም ላይ የዋለው የስሪት ቁጥጥር ስርዓት ነው።

እ.ኤ.አ. በ1990ዎቹ መጀመሪያ ላይ Sun Microsystems TeamWare የሚባል ቀደምት የተከፋፈለ የስሪት ቁጥጥር ስርዓት ፈጠረ። እያንዳንዱ የTeamWare የስራ ቅጂ የፕሮጀክቱን የለውጥ ታሪክ ሙሉ ቅጂ ይዟል። በTeamWare ውስጥ እንደ ማዕከላዊ ማከማቻ ጽንሰ-ሀሳብ አልነበረም። (ታሪክን ለማከማቸት ሲቪኤስ RCSን እንደሚጠቀም ሁሉ TeamWareም SCCSን ተጠቅሟል።)

እ.ኤ.አ. በ 1990 ዎቹ እድገት ፣ በሲቪኤስ ላይ ያሉ በርካታ ችግሮች ግንዛቤ እያደገ መጣ። ስርዓቱ ወደ አንድ አመክንዮአዊ የአቶሚክ ኦፕሬሽን ከመመደብ ይልቅ በአንድ ጊዜ የተደረጉ ለውጦችን በተለያዩ ፋይሎች ላይ ይጽፋል። የመቆጣጠሪያ ዘዴ የፋይል ተዋረድበጣም ጥሩ አይደለም፡ ፋይሎችን እና ማውጫዎችን በመሰየም በማከማቻው ውስጥ ምስቅልቅል መፍጠር ቀላል ነው። ከዚህም በላይ የሲቪኤስ ምንጭ ኮዶች ለመረዳት እና ለመጠገን ቀላል አይደሉም, ይህም በቀላሉ የማይታለፍ ያደርገዋል "የህመም ደረጃ"ለእነዚህ የስነ-ህንፃ ጉዳዮች ጥገናዎች.

እ.ኤ.አ. በ 2001 ጂም ብላንድዲ እና ካርል ፎግል - ቀደም ሲል በሲቪኤስ ላይ የሰሩ ሁለት ገንቢዎች - የተሻለ አርክቴክቸር እና የጸዳ ኮድ ባለው መሳሪያ ለመተካት ፕሮጀክት ጀመሩ። ውጤቱ፣ Subversion፣ ከሲቪኤስ የተማከለ የደንበኛ አገልጋይ ሞዴል አልራቀም፣ ነገር ግን የበርካታ ፋይሎች አቶሚክ ቁርጠኝነትን፣ የተሻለ የስም ቦታ አስተዳደር እና ሌሎች ባህሪያትን ጨምሯል። የመጀመሪያው እትም ከተለቀቀበት ጊዜ ጀምሮ, Subversion በፍጥነት ተወዳጅነት አግኝቷል.

ይብዛም ይነስም በአንድ ጊዜ፣ ግሬይደን ሆሬ ሞኖቶን ብሎ በጠራው ትልቅ የስሪት ቁጥጥር ስርዓት ላይ መስራት ጀመረ። ይህ ስርዓት ብዙ ችግሮችን ብቻ ያስወግዳል ውስጣዊ መዋቅርሲቪኤስ የተከፋፈለ አርክቴክቸር አለው፣ ነገር ግን በአንዳንድ ፈጠራዎቹ ውስጥ ከበርካታ ቀደምት (እና ተከታይ) የስሪት ቁጥጥር ስርዓቶች የበለጠ ይሄዳል። ሞኖቶን ክሪፕቶግራፊክ ሃሽን እንደ መለያ ይጠቀማል እና ስለ" ውስጣዊ ግንዛቤ አለው መተማመን"ኮድ ከተለያዩ ምንጮች.

የመርኩሪያል ህይወት በ2005 ጀመረ። አንዳንድ የሕንፃው ገጽታዎች በሞኖቶን ተጽዕኖ ቢኖራቸውም፣ ሜርኩሪያል በአጠቃቀም ቀላልነት፣ ከፍተኛ አፈጻጸም እና በጣም ትላልቅ ፕሮጀክቶች ላይ መስፋፋት ላይ ያተኩራል።

የስሪት ቁጥጥር ስርዓቶች አጠቃላይ እይታ

የስሪት ቁጥጥር ስርአቶች የሶፍትዌር ገንቢዎች ብቻ ሳይሆኑ በከፍተኛ ሁኔታ የሚለዋወጡ መረጃዎችን የማስተዳደር ችግር ያጋጠማቸው እና ህይወታቸውን ቀላል ለማድረግ ለሚፈልጉ ሰዎች ሁሉ የህይወት ዋና አካል ሆነዋል። በውጤቱም, ታየ ትልቅ ቁጥርየተለያዩ ምርቶችን ያቀርባል ሰፊ እድሎችእና ሰፊ የስሪት መቆጣጠሪያ መሳሪያዎችን መስጠት. ይህ ጽሑፍ በጣም ተወዳጅ የሆኑትን ጥቅሞቻቸውን እና ጉዳቶቻቸውን በመዘርዘር በአጭሩ ያብራራል.

ለማነጻጸር፣ በጣም የተለመዱት የስሪት ቁጥጥር ስርዓቶች ተመርጠዋል፡- RCS፣ CVS፣ Subversion፣ Aegis፣ Monoton፣ Git፣ Bazaar፣ Arch, Perforce, Mercurial, TFS.

RCS የስሪት ክለሳ አስተዳደር ስርዓት ነው።
(www.gnu.org/software/rcs/rcs.html)

ግምገማችንን በ1985 ከተሰራው የመጀመሪያው የስሪት ቁጥጥር ስርዓቶች በአንዱ - RCS (የክለሳ ቁጥጥር ስርዓት) እንጀምር። በዚያን ጊዜ ታዋቂ የነበረውን የ SCCS (ምንጭ ኮድ መቆጣጠሪያ ሲስተም) ሥሪት ቁጥጥር ሥርዓት ተክቷል።

በአሁኑ ጊዜ፣ RCS ይበልጥ ኃይለኛ በሆነው የስሪት ቁጥጥር ስርዓት ሲቪኤስ እየተተካ ነው፣ ነገር ግን አሁንም በጣም ታዋቂ እና የጂኤንዩ ፕሮጀክት አካል ነው።

RCS ከተናጥል ፋይሎች ጋር ብቻ እንዲሰሩ ይፈቅድልዎታል, ለእያንዳንዱ የለውጥ ታሪክ ይፈጥራል. ለጽሑፍ ፋይሎች, ሁሉም የፋይሉ ስሪቶች አይቀመጡም, የቅርብ ጊዜው ስሪት ብቻ እና በእሱ ላይ የተደረጉ ለውጦች ሁሉ. RCS እንዲሁ በሁለትዮሽ ፋይሎች ላይ የተደረጉ ለውጦችን መከታተል ይችላል፣ ነገር ግን እያንዳንዱ ለውጥ እንደ የተለየ የፋይሉ ስሪት ይከማቻል።

አንድ ተጠቃሚ በፋይል ላይ ለውጦችን ሲያደርግ ፋይሉ ለሁሉም ሰው እንደተቆለፈ ይቆያል። የመጀመሪያው ተጠቃሚ እስኪጨርስ እና ለውጦቹን እስኪያደርግ ድረስ ከአርትዖት ማከማቻው ሊጠይቁት አይችሉም።

የ RCS ስሪት ቁጥጥር ስርዓት ዋና ጥቅሞችን እና ጉዳቶችን እንይ.

ጥቅሞቹ፡-

1. RCS - ለመጠቀም ቀላል እና ከስሪት ቁጥጥር ስርዓቶች አሠራር መርሆዎች ጋር በደንብ ለመተዋወቅ ተስማሚ ነው.

2. በተጠቃሚዎች ቡድን ተደጋጋሚ ማሻሻያ የማይጠይቁትን ነጠላ ፋይሎችን ለመደገፍ በጣም ተስማሚ።

3. በአብዛኛዎቹ ነፃ ሶፍትዌሮች ውስጥ በሰፊው ተሰራጭቷል እና ቀድሞ የተጫነ ስርዓተ ክወናዎችኦ.

ጉድለቶች፡-

1. ለውጦችን ወደ ነጠላ ፋይሎች ብቻ ይከታተላል, ይህም ለትላልቅ ፕሮጀክቶች ስሪት ቁጥጥር እንዲውል አይፈቅድም.

2. ብዙ ተጠቃሚዎች በተመሳሳይ ፋይል ላይ በተመሳሳይ ጊዜ ለውጦችን እንዲያደርጉ አይፈቅድም።

3. ከዘመናዊ ስሪት ቁጥጥር ስርዓቶች ጋር ሲነጻጸር ዝቅተኛ ተግባር.

መደምደሚያ፡-

የ RCS ሥሪት ቁጥጥር ስርዓት የተገነቡ ፕሮጀክቶችን ለማስተዳደር በጣም ደካማ የሆኑ መሳሪያዎችን ያቀርባል እና ከስሪት ቁጥጥር ቴክኖሎጂ ጋር ለመተዋወቅ ወይም የግለሰብ ፋይሎችን ትንሽ የመመለሻ ታሪክ ለማቆየት ብቻ ተስማሚ ነው።

ሲቪኤስ ትይዩ የስሪት ቁጥጥር ስርዓት ነው።
(www.nongnu.org/cvs)

የተጣጣሙ ስሪቶች ሲስተም የስሪት ቁጥጥር ደረጃዎችን እና ስልተ ቀመሮችን በመጠቀም የክለሳ ቁጥጥር ስርዓት (RCS) አመክንዮአዊ እድገት ነው ፣ ግን የበለጠ ተግባራዊ ነው ፣ እና ከእያንዳንዱ ፋይሎች ጋር ብቻ ሳይሆን ከጠቅላላው ፕሮጄክቶች ጋር እንዲሰሩ ያስችልዎታል።

ሲቪኤስ በአውታረ መረብ ላይ በሚደረግ የደንበኛ አገልጋይ ቴክኖሎጂ ላይ የተመሰረተ ነው። በፕሮጀክቱ ላይ አንድ ሰው ብቻ እየሰራ ከሆነ ወይም ማቆየት ከፈለጉ ደንበኛው እና አገልጋዩ በተመሳሳይ ማሽን ላይ ሊገኙ ይችላሉ. የአካባቢ ቁጥጥርስሪቶች.

ሲቪኤስ እንደሚከተለው ይሰራል። የቅርብ ጊዜው ስሪት እና ሁሉም ለውጦች በአገልጋይ ማከማቻ ውስጥ ተከማችተዋል። ከአገልጋዩ ጋር የሚገናኙ ደንበኞች ልዩነቶችን ይፈትሹ የአካባቢ ስሪትበማከማቻው ውስጥ ከተቀመጠው የቅርብ ጊዜ ስሪት, እና ልዩነቶች ካሉ, ወደ እርስዎ አካባቢያዊ ፕሮጀክት ይስቀሉ. አስፈላጊ ከሆነ ግጭቶችን ይፍቱ እና በሚመረተው ምርት ላይ አስፈላጊውን ለውጥ ያድርጉ. ከዚህ በኋላ ሁሉም ለውጦች ወደ አገልጋይ ማከማቻ ይሰቀላሉ. ሲቪኤስ፣ አስፈላጊ ከሆነ፣ ወደሚፈለገው የፕሮጀክት እትም እንድትመለሱ እና በርካታ ፕሮጀክቶችን በአንድ ጊዜ እንድታስተዳድሩ ይፈቅድልሃል።

የትይዩ ስሪት ቁጥጥር ስርዓት ዋና ጥቅሞች እና ጉዳቶች እዚህ አሉ።

ጥቅሞቹ፡-

1. በርካታ ደንበኞች በተመሳሳይ ፕሮጀክት ላይ በተመሳሳይ ጊዜ ሊሰሩ ይችላሉ.

2. አንድ ፋይል ብቻ ሳይሆን ሙሉ ፕሮጀክቶችን እንዲያስተዳድሩ ይፈቅድልዎታል.

3. እጅግ በጣም ብዙ ምቹ የግራፊክ በይነገጾች ያለው ሲሆን ይህም ማንኛውንም ሰው, ሌላው ቀርቶ በጣም የሚፈልገውን ጣዕም ሊያረካ ይችላል.

4. በብዛት ጥቅም ላይ የዋለ እና በአብዛኛዎቹ ሊኑክስ ኦፕሬቲንግ ሲስተሞች በነባሪ ይመጣል።

5. የሙከራ ፋይሎችን ከማጠራቀሚያው ሲያወርዱ, ለውጦች ብቻ ይተላለፋሉ, እና ሙሉውን ፋይል አይደለም.

ጉድለቶች፡-

1. ፋይልን ወይም ማውጫን ሲያንቀሳቅሱ ወይም እንደገና ሲሰይሙ ከዚህ ፋይል ወይም ማውጫ ጋር የተያያዙ ለውጦች ሁሉ ጠፍተዋል።

2. ተመሳሳይ ፕሮጀክት በርካታ ትይዩ ቅርንጫፎችን ለመጠበቅ ችግሮች.

3. የተገደበ የቅርጸ-ቁምፊ ድጋፍ.

4. ለእያንዳንዱ የሁለትዮሽ ፋይል ለውጥ፣ የተደረገው ለውጥ ብቻ ሳይሆን የፋይሉ ሙሉ ስሪት ተቀምጧል።

5. የተሻሻለው ፋይል ሁልጊዜ ከደንበኛው ወደ አገልጋዩ ሙሉ በሙሉ ይተላለፋል.

6. ወደ ማከማቻው አዘውትሮ መድረስ ስለሚፈልጉ እና የተቀመጡ ቅጂዎች አንዳንድ ድጋሚዎች ስላሏቸው ሀብትን የሚጨምሩ ክዋኔዎች።

መደምደሚያ፡-

ምንም እንኳን CVS ጊዜው ያለፈበት እና ከባድ ጉድለት ያለበት ቢሆንም፣ አሁንም በጣም ከሚባሉት ውስጥ አንዱ ነው። ታዋቂ ስርዓቶችየስሪት ቁጥጥር እና ብዙ ትይዩ ስሪቶችን መፍጠር የማይፈልጉትን ትናንሽ ፕሮጀክቶችን ለማስተዳደር በጣም ጥሩ ነው ፣ ይህም በየጊዜው መቀላቀል አለበት። ሲቪኤስ የስሪት ቁጥጥር ስርዓቶችን አሠራር ለመቆጣጠር እንደ መካከለኛ ደረጃ ሊመከር ይችላል ፣ ይህም ወደ ይበልጥ ኃይለኛ እና ዘመናዊ የእንደዚህ ያሉ ፕሮግራሞች ዓይነቶች ይመራል።

የመገለባበጥ ስሪት ቁጥጥር ስርዓት.
(www.subversion.tigris.org)

ማፈራረስ በ2000 የተፈጠረ እና በደንበኛ አገልጋይ ቴክኖሎጂ ላይ የተመሰረተ የተማከለ የስሪት ቁጥጥር ስርዓት ነው። ሁሉም የሲቪኤስ ጥቅሞች አሉት እና ዋና ችግሮቹን ይፈታል (ፋይሎችን እና ማውጫዎችን እንደገና መሰየም እና ማንቀሳቀስ ፣ ከ ጋር አብሮ መስራት) ሁለትዮሽ ፋይሎችወዘተ)። ብዙውን ጊዜ በደንበኛው ክፍል ስም - SVN ይባላል.

ከSversion ጋር የመሥራት መርህ ከሲቪኤስ ጋር አብሮ መሥራት በጣም ተመሳሳይ ነው። ደንበኞች ከማከማቻው ውስጥ ለውጦችን ይገለበጣሉ እና ወደ ተጠቃሚው አካባቢያዊ ፕሮጀክት ያዋህዳቸዋል። ግጭቶች ከተፈጠሩ የአካባቢ ለውጦችእና ለውጦች በማጠራቀሚያው ውስጥ ተቀምጠዋል, ከዚያም እንደዚህ ያሉ ሁኔታዎች በእጅ መፍትሄ ያገኛሉ. ከዚያ በኋላ በአካባቢው ፕሮጀክት ላይ ለውጦች ይደረጋሉ እና ውጤቱም በማጠራቀሚያው ውስጥ ይቀመጣል.

ለውጦች እንዲዋሃዱ ከማይፈቀዱ ፋይሎች ጋር ሲሰሩ የሚከተለውን መርህ መጠቀም ይቻላል፡

1. ፋይሉ ከማከማቻው ወርዶ ታግዷል (ከማከማቻው ማውረድ የተከለከለ ነው).

2. አስፈላጊ ለውጦች ተደርገዋል.

3. ፋይሉ ወደ ማከማቻው ተሰቅሏል እና ተከፍቷል (ሌሎች ደንበኞች ከማከማቻው እንዲያወርዱ ተፈቅዶላቸዋል)።

በአመዛኙ ቀላልነቱ እና በአስተዳደር ውስጥ ካለው ከሲቪኤስ ጋር ተመሳሳይነት ያለው ነገር ግን በዋናነት በሰፊው ተግባራቱ ምክንያት፣ Subversion በተሳካ ሁኔታ ከሲቪኤስ ጋር ይወዳደራል አልፎ ተርፎም በተሳካ ሁኔታ ያፈናቅለዋል።

ነገር ግን፣ ማሻሻያ (Sversion) የራሱ ድክመቶችም አሉት። ከሌሎች የስሪት ቁጥጥር ስርዓቶች ጋር ለማነፃፀር ጥንካሬውን እና ድክመቱን እንይ።

ጥቅሞቹ፡-

1. ከሲቪኤስ ጋር የሚመሳሰል የትእዛዝ ስርዓት።

2. አብዛኛዎቹ የሲቪኤስ ባህሪያት ይደገፋሉ።

3. የተለያዩ የግራፊክ መገናኛዎች እና ምቹ ስራዎች ከኮንሶል.

4. በፋይሎች እና ማውጫዎች ላይ የተደረጉ ለውጦች ታሪክ ከተሰየሙ እና ከተንቀሳቀሱ በኋላም ክትትል ይደረግባቸዋል.

5. ከሁለቱም የጽሑፍ እና የሁለትዮሽ ፋይሎች ጋር የመሥራት ከፍተኛ ቅልጥፍና.

6. አብሮ የተሰራ ድጋፍ እንደ KDevelop, Zend Studio እና ሌሎች ብዙ ባሉ ብዙ የተቀናጁ የልማት መሳሪያዎች ውስጥ.

7. የማጠራቀሚያውን የመስታወት ቅጂዎች የመፍጠር እድል.

8. ሁለት ዓይነት ማከማቻዎች - የውሂብ ጎታ ወይም መደበኛ ፋይሎች ስብስብ.

9. የ WebDAV ፕሮቶኮልን በመጠቀም በ Apache በኩል ወደ ማከማቻው የመድረስ ችሎታ።

10. መለያዎችን እና የፕሮጀክት ቅርንጫፎችን ለመፍጠር አመቺ ዘዴ መገኘት.

11. ከእያንዳንዱ ፋይል እና ማውጫ ጋር የተወሰኑ የንብረት ስብስቦችን ማያያዝ ይችላሉ, ከስሪት ቁጥጥር ስርዓቱ ጋር መስተጋብርን በማመቻቸት.

12. የተንሰራፋው ስርጭት በበይነመረብ ማህበረሰብ የተከማቸ መረጃን በማዞር የሚነሱትን አብዛኛዎቹን ችግሮች በፍጥነት ለመፍታት ያስችላል።

ጉድለቶች፡-

1. የተሟላ የማጠራቀሚያ ቅጂ በአካባቢያዊ ኮምፒዩተር ላይ በተደበቁ ፋይሎች ውስጥ ተከማችቷል, ይህም በቂ መጠን ያለው ማህደረ ትውስታ ያስፈልገዋል.

2. በአንድ ደንበኛ በአገር ውስጥ የተሰየመ ፋይል በተመሳሳይ ጊዜ በሌላ ደንበኛ ተስተካክሎ ወደ ማከማቻው ከተጫነ ፋይሎችን በመሰየም ላይ ችግሮች አሉ።

3. የፕሮጀክት ቅርንጫፎችን ለማዋሃድ ደካማ ድጋፍ.

4. በማጠራቀሚያው ውስጥ ስላሉ ፋይሎች መረጃን ሙሉ በሙሉ የመሰረዝ ችግሮች፣ ሁልጊዜ በፋይሉ ላይ ስለቀደሙት ለውጦች መረጃ ስለሚይዝ እና ስለ አንድ ፋይል መረጃ ከማጠራቀሚያው ውስጥ ሙሉ በሙሉ ለመሰረዝ ምንም መደበኛ ዘዴዎች የሉም።

መደምደሚያ፡-

ማሽቆልቆል ዘመናዊ የቁጥጥር ስርዓት ሲሆን ይህም የተማከለ የቁጥጥር ስርዓትን በመጠቀም የፕሮጀክት ስሪቶችን ለማስተዳደር ማንኛውንም ፍላጎት ለማሟላት ብዙ አይነት መሳሪያዎች አሉት. በበይነመረቡ ላይ ለ Subversion ባህሪያት የተሰጡ ብዙ ሀብቶች አሉ, ይህም በስራዎ ወቅት የሚነሱትን ሁሉንም ችግሮች በፍጥነት እና በብቃት እንዲፈቱ ያስችልዎታል.

የመጫን ቀላልነት፣ ለስራ መዘጋጀት እና በቂ አቅም ማፍረስ በስሪት ቁጥጥር ስርዓቶች ውድድር ውስጥ ግንባር ቀደም ቦታዎችን እንዲይዝ ያስችለዋል።

Aegis ስሪት ቁጥጥር ሥርዓት.

በ1991 በፒተር ሚለር የተፈጠረ ኤጊስ ከማዕከላዊ የስሪት ቁጥጥር ስርዓቶች የመጀመሪያው አማራጭ ነው። በውስጡ ያሉት ሁሉም ስራዎች የሚከናወኑት በ የፋይል ስርዓትዩኒክስ እንደ አለመታደል ሆኖ ኤጊስ አብሮ የተሰራ የአውታረ መረብ ድጋፍ የለውም፣ ግን መስተጋብር እንደ NFS፣ HTTP፣ FTP ያሉ ፕሮቶኮሎችን በመጠቀም ሊከናወን ይችላል።

የ Aegis ዋና ገፅታ በማከማቻው ላይ የተደረጉ ለውጦችን የሚቆጣጠርበት መንገድ ነው።

በመጀመሪያ፣ ማናቸውንም ለውጦች ከማድረጋቸው በፊት፣ ተከታታይ ፈተናዎችን ማለፍ አለባቸው። እና በፕሮግራሙ ምንጭ ኮድ ውስጥ ያሉ ፈጠራዎች ፈተናዎችን ካላለፉ ፣ ከዚያ አዲስ ሙከራዎችን ማከል ወይም በምንጭ ኮድ ውስጥ ሊሆኑ የሚችሉ ስህተቶችን ማስተካከል አስፈላጊ ነው።

በሁለተኛ ደረጃ, በፕሮጀክቱ ዋና ቅርንጫፍ ላይ ለውጦች ከመደረጉ በፊት, በግምገማዎች መጽደቅ አለባቸው.

በሶስተኛ ደረጃ የዩኒክስ መሰል ኦፕሬቲንግ ሲስተሞችን ወደ ፋይሎች የመዳረሻ መብቶችን መሰረት በማድረግ ወደ ማከማቻው የመግባት ተዋረድ ቀርቧል።

ይህ ሁሉ የ Aegis ሥሪት ቁጥጥር ስርዓትን አስተማማኝ ያደርገዋል ፣ ግን እጅግ በጣም ከባድ ፣ እና ጥሩ ሰነዶች እንኳን ቀላል አያደርገውም።

የ Aegis ስሪት ቁጥጥር ስርዓት ዋና ጥቅሞችን እና ጉዳቶችን እናሳይ።

ጥቅሞቹ፡-

1. የተጫኑ ለውጦች ትክክለኛነት አስተማማኝ ቁጥጥር.

2. ወደ ማከማቻ ፋይሎች የተለያዩ የመዳረሻ ደረጃዎችን የማቅረብ ችሎታ, ይህም ጥሩ የደህንነት ደረጃ ይሰጣል.

3. ከፍተኛ ጥራት ያለው ሰነድ.

4. የለውጦች ታሪክ ሳይጠፋ በማከማቻው ውስጥ የተቀመጡ ፋይሎችን እንደገና መሰየም ችሎታ.

5. ወደ ዋናው ማከማቻ የኔትወርክ መዳረሻ ከሌለ ከአካባቢያዊ ማከማቻ ጋር የመሥራት ችሎታ.

ጉድለቶች፡-

1. ለአውታረ መረብ መስተጋብር አብሮ የተሰራ ድጋፍ እጥረት።

2. ከማጠራቀሚያው ጋር ማቀናበር እና መስራት አስቸጋሪነት.

3. ደካማ የግራፊክ መገናኛዎች.

መደምደሚያ፡-

የ Aegis ውስብስብነት ተጠቃሚዎች የስሪት ቁጥጥር ስርዓቶችን እንዳይጠቀሙ ሊያበረታታ ይችላል, ስለዚህ ለማጣቀሻ ወይም ለአነስተኛ የሶፍትዌር ፕሮጀክቶች አይመከርም. ይሁን እንጂ በአንዳንድ ልዩ ሁኔታዎች በተለይም እየተዘጋጀ ያለውን የሶፍትዌር ጥራት ላይ ጥብቅ ቁጥጥር ማድረግ በሚያስፈልግበት ጊዜ ጠቃሚ ሊሆኑ የሚችሉ በርካታ ጥቅሞች አሉት.

ሞኖቶን ስሪት ቁጥጥር ስርዓት.
(monotone.ca)

ሞኖቶን በግሬይደን ሆም የተገነባ ሌላ ያልተማከለ የስሪት ቁጥጥር ስርዓት ነው። በእሱ ውስጥ, እያንዳንዱ ደንበኛ ከሌሎች ደንበኞች ጋር እየተገነባ ያለውን የምርት ስሪቶች የማመሳሰል ሃላፊነት አለበት.

ከዚህ የስሪት ቁጥጥር ስርዓት ጋር መስራት በጣም ቀላል ነው፣ እና አብዛኛዎቹ ትእዛዞች በ Subversion እና CVS ውስጥ ጥቅም ላይ ከዋሉት ትዕዛዞች ጋር ተመሳሳይ ናቸው። ልዩነቶቹ በዋናነት ከተለያዩ ገንቢዎች የተውጣጡ የፕሮጀክቶች ቅርንጫፎችን በማዋሃድ አደረጃጀት ውስጥ ነው.

ከሞኖቶን ጋር መስራት በሚከተለው መልኩ የተዋቀረ ነው. በመጀመሪያ፣ የSQLite ፕሮጀክት ዳታቤዝ ተፈጠረ እና ቁልፎች የሚመነጩት SHA1 (Secure Hash Algorithm 1) hashing ስልተ ቀመር በመጠቀም ነው።

ከዚያም ተጠቃሚው ፕሮጀክቱን ሲያስተካክል ሁሉም ለውጦች በዚህ የውሂብ ጎታ ውስጥ ይቀመጣሉ, ይህም በሌሎች የስሪት ቁጥጥር ስርዓቶች ማከማቻ ውስጥ ለውጦችን ከማዳን ጋር ተመሳሳይ ነው.

አንድን ፕሮጀክት ከሌሎች ተጠቃሚዎች ጋር ለማመሳሰል የሚከተሉትን ማድረግ አለብዎት:

ቁልፉን ወደ ውጭ ይላኩ (የቅርብ ጊዜውን የፕሮጀክቱ ስሪት ሃሽ ኮድ) እና ተመሳሳይ ቁልፎችን ከሌሎች ደንበኞች ይቀበሉ።

አሁን በዚህ መንገድ የተመዘገበ ሁሉም ሰው ቀላል የትዕዛዝ ስብስብን በመጠቀም ልማትን ከባልደረቦቻቸው ጋር ማመሳሰል ይችላል።

የሞኖቶን ስሪት ቁጥጥር ስርዓትን ጥቅሞች እና ጉዳቶች ጠቅለል አድርገን እንይ።

ጥቅሞቹ፡-

1. ከSversion እና CVS ትዕዛዞች ጋር ተመሳሳይ የሆነ ቀላል እና ግልጽ የትእዛዞች ስብስብ።

2. ፋይሎችን እና ማውጫዎችን እንደገና መሰየም እና ማንቀሳቀስ ይደግፋል።

3. ከፍተኛ ጥራት ያለው ሰነድ, ይህም የስሪት ቁጥጥር ስርዓቱን አጠቃቀም በእጅጉ ያመቻቻል.

ጉድለቶች፡-

1. ዝቅተኛ ፍጥነት.

2. ኃይለኛ እጥረት ግራፊክ ቅርፊቶች.

3. በይዘት የሚለያዩ የክለሳዎች ኮድ ሊሆኑ የሚችሉ (ግን እጅግ በጣም ዝቅተኛ) ግጥሚያዎች።

መደምደሚያ፡-

ሞኖቶን በማደግ ላይ ያለ ፕሮጀክት ስሪቶችን ለማስተዳደር ኃይለኛ እና ምቹ መሳሪያ ነው። የትዕዛዞቹ ስብስብ በደንብ የታሰበ እና ሊታወቅ የሚችል ነው፣ በተለይ ከSversion እና CVS ጋር ለመስራት ለለመዱ ተጠቃሚዎች ምቹ ነው። በጥሩ ሁኔታ የተነደፉ እና የተሟሉ ሰነዶች በፍጥነት እንዲላመዱ እና ሁሉንም የ Subversion ባህሪያትን በሙሉ አቅማቸው እንዲጠቀሙ ይፈቅድልዎታል።

ይሁን እንጂ በአንጻራዊ ሁኔታ ዝቅተኛ የሥራ ፍጥነት እና ኃይለኛ የግራፊክ ቅርፊቶች አለመኖር ከትላልቅ ፕሮጀክቶች ጋር መሥራትን በተወሰነ ደረጃ አስቸጋሪ ያደርገዋል. ስለዚህ, ውስብስብ እና ትላልቅ ምርቶችን ለመደገፍ የስሪት ቁጥጥር ስርዓት ከፈለጉ Git ወይም Mercurial ን መመልከት አለብዎት.

Git ስሪት ቁጥጥር ስርዓት.
(www.git-scm.com)

ከየካቲት 2002 ጀምሮ አብዛኞቹ ፕሮግራመሮች የሊኑክስ ከርነልን ለማዳበር የ BitKeeper ሥሪት ቁጥጥር ስርዓትን መጠቀም ጀመሩ። በቃ ለረጅም ጊዜበእሱ ላይ ምንም ችግሮች አልነበሩም, ነገር ግን በ 2005 ላሪ ማክቮይ (የቢትኪፐር ገንቢ) የፕሮግራሙን ነፃ ስሪት አወጣ.

ኃይለኛ እና አስተማማኝ የስሪት ቁጥጥር ስርዓት ከሌለ የሊኑክስ-ልኬት ፕሮጀክት ማዘጋጀት አይቻልም. ከእጩዎቹ አንዱ እና በጣም ተስማሚ የሆነው ፕሮጀክት የሞኖቲን ስሪት ቁጥጥር ስርዓት ነበር ፣ ግን ቶርቫልድስ ሊነስ በፍጥነቱ አልረካም። የሞናቶን ድርጅት ልዩ ሁኔታዎች የውሂብ ሂደት ፍጥነት ላይ ከፍተኛ ጭማሪ ስላልፈቀደ ፣ ኤፕሪል 3 ቀን 2005 ሊነስ ማደግ ጀመረ። የራሱ ስርዓትየስሪት ቁጥጥር - Git.

ከሊነስ (ከሶስት ቀናት በኋላ) በተመሳሳይ ጊዜ ማለት ይቻላል ማት ማካል አዲስ የስሪት ቁጥጥር ስርዓት ማዘጋጀት ጀመረ። ማት ፕሮጄክቱን Mercurial ብሎ ጠራው ፣ ግን ከዚያ በኋላ ፣ ግን አሁን ወደ የተሰራጨው የስሪት ቁጥጥር ስርዓት Git እንመለስ።

Git ተለዋዋጭ፣ የተከፋፈለ (ያለ ነጠላ አገልጋይ) የስሪት ቁጥጥር ስርዓት ለሶፍትዌር ገንቢዎች ብቻ ሳይሆን ለጸሐፊዎች በ"የብራና ጽሑፎች" ላይ ለውጦችን ለመለወጥ፣ ለመጨመር እና ለመከታተል እንዲሁም አስተማሪዎች እንዲያስተካክሉ ብዙ እድሎችን የሚሰጥ ነው። እና ትምህርቶችን እና አስተዳዳሪዎችን ለሰነዶች እና ለብዙ ሌሎች የለውጥ ታሪክ አስተዳደር ለሚፈልጉ ዘርፎች አዘጋጅ።

Gitን የሚጠቀም እያንዳንዱ ገንቢ የራሳቸው የአካባቢ ማከማቻ አለው፣ ይህም ለአካባቢያዊ ስሪት ቁጥጥር ያስችላል። ከዚያ በአካባቢያዊ ማከማቻ ውስጥ የተቀመጠው ውሂብ ከሌሎች ተጠቃሚዎች ጋር ሊለዋወጥ ይችላል.

ብዙ ጊዜ ከ Git ጋር ሲሰሩ ሌሎች ገንቢዎች የሚመሳሰሉበት ማዕከላዊ ማከማቻ ይፈጥራሉ። ስርዓትን ከማዕከላዊ ማከማቻ ጋር የማደራጀት ምሳሌ የሊኑክስ ከርነል ልማት ፕሮጀክት (http://www.kernel.org) ነው።

በዚህ ሁኔታ ሁሉም የፕሮጀክት ተሳታፊዎች የአካባቢያቸውን እድገት ያካሂዳሉ እና ዝመናዎችን ከማዕከላዊው የመረጃ ቋት በነፃ ያውርዱ። አስፈላጊው ሥራ በተናጥል የፕሮጀክት ተሳታፊዎች ሲጠናቀቅ እና ሲታረም የማዕከላዊው ማከማቻ ባለቤት የተከናወነው ስራ ትክክለኛ እና ወቅታዊ መሆኑን ካረጋገጠ በኋላ ለውጦቻቸውን ወደ ማእከላዊ ማከማቻ ይሰቅላሉ.

ከማከማቻዎቹ አንዱ ካልተሳካ ውሂቡ ከሌሎች ማከማቻዎች በቀላሉ ማግኘት ስለሚቻል የአካባቢ ማከማቻዎች መኖራቸው የመረጃ ማከማቻ አስተማማኝነትን በእጅጉ ይጨምራል።

በጂት ውስጥ የፕሮጀክት ስሪቶች ላይ የሚሰሩ ስራዎች በበርካታ ቅርንጫፎች ውስጥ ሊከናወኑ ይችላሉ, ከዚያም በቀላሉ ሙሉ በሙሉ ወይም በከፊል ሊዋሃዱ, ሊወድሙ, ወደ ኋላ ይንከባለሉ እና ወደ አዲስ የፕሮጀክቱ ቅርንጫፎች ሊሰፋ ይችላል.

ስለ Git ችሎታዎች ለረጅም ጊዜ መወያየት እንችላለን ፣ ግን ለአጭር ጊዜ እና ለቀላል ግንዛቤ ፣ የዚህን ስሪት ቁጥጥር ስርዓት ዋና ጥቅሞችን እና ጉዳቶችን እናቀርባለን።

ጥቅሞቹ፡-

1. በSHA1 hashing ስልተ ቀመር (Secure Hash Algorithm 1) ላይ በመመስረት ክለሳዎችን ለማነፃፀር እና የውሂብ ትክክለኛነትን ለመፈተሽ አስተማማኝ ስርዓት።

2. ፕሮጀክቶችን ለመዘርጋት እና ቅርንጫፎችን እርስ በርስ ለማዋሃድ ተለዋዋጭ ስርዓት.

3. ስለ ሁሉም ለውጦች የተሟላ መረጃ የያዘ የአካባቢ ማከማቻ መኖሩ ሙሉ የአካባቢያዊ ስሪት ቁጥጥርን እንዲጠብቁ እና ሙሉ ለሙሉ የተረጋገጡ ለውጦችን ወደ ዋናው ማከማቻ ብቻ እንዲሰቅሉ ያስችልዎታል።

4. ከፍተኛ አፈጻጸምእና የስራ ፍጥነት.

5. ምቹ እና ሊታወቅ የሚችል የትዕዛዝ ስብስብ።

6. ከጂት ጋር በፍጥነት እና በብቃት እንዲሰሩ የሚያስችልዎ ብዙ ግራፊክ ዛጎሎች።

7. የማድረግ ችሎታ የመቆጣጠሪያ ነጥቦች, በውስጡም ውሂቡ ያለ ዴልታ መጨናነቅ የተከማቸ ነው, ግን ሙሉ በሙሉ. ይህ የመረጃ መልሶ ማግኛን ፍጥነት እንዲቀንሱ ያስችልዎታል, ምክንያቱም የቅርቡ የፍተሻ ነጥብ እንደ መሰረት ይወሰዳል, እና ማገገሚያ በመካሄድ ላይ ነውከእሷ. የፍተሻ ኬላዎች ጠፍተው ከሆነ፣ ትልልቅ ፕሮጀክቶች ለማገገም ሰዓታት ሊወስዱ ይችላሉ።

8. ሰፊ ስርጭት, ቀላል ተደራሽነት እና ከፍተኛ ጥራት ያለው ሰነድ.

9. የስርዓቱ ተለዋዋጭነት በተመጣጣኝ ሁኔታ እንዲያዋቅሩት እና እንዲያውም በ git ላይ በመመስረት ልዩ የስርዓት መቆጣጠሪያዎችን ወይም የተጠቃሚ በይነገጾችን እንዲፈጥሩ ያስችልዎታል።

10. http, ftp, rsync, ssh, ወዘተ ፕሮቶኮሎችን በመጠቀም ሁለንተናዊ የአውታረ መረብ መዳረሻ.

ጉድለቶች፡-

1. ዩኒክስ - አቀማመጥ. በአሁኑ ጊዜ ከሌሎች ኦፕሬቲንግ ሲስተሞች ጋር ተኳሃኝ የሆነ የጎለመሰ Git ትግበራ የለም።

2. በይዘት የሚለያዩ የክለሳዎች ኮድ ሊሆኑ የሚችሉ (ግን እጅግ በጣም ዝቅተኛ) ግጥሚያዎች።

3. በተናጥል ፋይሎች ላይ የተደረጉ ለውጦች ክትትል አይደረግባቸውም, ነገር ግን ለጠቅላላው ፕሮጀክት ብቻ ነው, ይህም ብዙ ያልተገናኙ ፋይሎችን ከያዙ ትላልቅ ፕሮጀክቶች ጋር ሲሰራ የማይመች ሊሆን ይችላል.

4. መጀመሪያ ላይ ማጠራቀሚያ ሲፈጥሩ እና ከሌሎች ገንቢዎች ጋር ሲመሳሰሉ, በቂ ያስፈልግዎታል ረጅም ጊዜመረጃን ለማውረድ ፣ በተለይም ፕሮጀክቱ ትልቅ ከሆነ ፣ ሙሉውን ማከማቻ ወደ አካባቢያዊ ኮምፒተርዎ መቅዳት ያስፈልግዎታል።

መደምደሚያ፡-

Git በጣም ብዙ ተጠቃሚዎችን ሊያረካ የሚችል ተለዋዋጭ ፣ ምቹ እና ኃይለኛ የስሪት ቁጥጥር ስርዓት ነው። አሁን ያሉት ጉድለቶች ቀስ በቀስ ይወገዳሉ እና አያመጡም ከባድ ችግሮችተጠቃሚዎች. ትልቅ ፕሮጀክት እየሰሩ ከሆነ በጂኦግራፊያዊ ርቀት እና በይበልጥም ብዙ ጊዜ ከሌሎች ገንቢዎች ጋር ሳይገናኙ ሶፍትዌሮችን ማዘጋጀት ካለብዎት (ለምሳሌ ከአገር ወደ ሀገር ሲበሩ ወይም ወደ አገር ሲጓዙ ጊዜ ማባከን አይፈልጉም). ሥራ), ማንኛውንም ለውጦችን ማድረግ እና በአካባቢያዊ ማከማቻ ውስጥ ማስቀመጥ ይችላሉ, መልሶ መመለስ, በቅርንጫፎች መካከል መቀያየር, ወዘተ.). Git በስሪት ቁጥጥር ስርዓቶች ውስጥ ካሉ መሪዎች አንዱ ነው።

Mercurial ስሪት ቁጥጥር ሥርዓት.
(mercurial.selenic.com)

የሜርኩሪያል የተከፋፈለው የስሪት ቁጥጥር ስርዓት በቶርቫልድስ ሊነስ ከፈጠረው የጂት ስሪት ቁጥጥር ስርዓት ጋር በትይዩ በማት ማካል የተሰራ ነው።

በመጀመሪያ, የተፈጠረው ለ ውጤታማ አስተዳደርበሊኑክስ ስር ያሉ ትላልቅ ፕሮጀክቶች, እና ስለዚህ ፈጣን እና አስተማማኝ ስራዎች ከትላልቅ ማከማቻዎች ጋር ያተኮሩ ነበሩ. በአሁኑ ጊዜ ሜርኩሪል በዊንዶውስ ፣ ማክ ኦኤስ ኤክስ እና በአብዛኛዎቹ የዩኒክስ ስርዓቶች ስር ለመስራት ተስተካክሏል።

አብዛኛው የስሪት ቁጥጥር ስርዓት በፓይዘን የተፃፈ ሲሆን ከፍተኛ አፈፃፀም የሚያስፈልጋቸው የፕሮግራሙ የተወሰኑ ክፍሎች ብቻ በ C ይፃፋሉ።

ክለሳዎች የሚታወቁት በSHA1 (Secure Hash Algorithm 1) hashing ስልተ-ቀመር መሰረት ነው፣ ሆኖም፣ ለክለሳዎች የግለሰብ ቁጥሮችን መመደብም ይቻላል።

ልክ በ git ውስጥ ፣ የፕሮጀክት ቅርንጫፎችን የመፍጠር እና ከዚያ የመዋሃድ ችሎታን ይደግፋል።

በደንበኞች መካከል ለመግባባት ጥቅም ላይ ይውላል የኤችቲቲፒ ፕሮቶኮሎች፣ HTTPS ወይም SSH።

የትዕዛዞቹ ስብስብ ቀላል እና ሊታወቅ የሚችል ነው፣ ልክ እንደ ማፍረስ ትዕዛዞች። እንዲሁም በርካታ የግራፊክ ዛጎሎች እና በድር በይነገጽ በኩል ወደ ማከማቻው መድረስ ይችላሉ። እንዲሁም ሌሎች ብዙ የስሪት ቁጥጥር ስርዓቶችን ማከማቻዎች እንዲያስገቡ የሚያስችልዎ መገልገያዎች መኖሩ አስፈላጊ ነው።

የሜርኩሪል ዋና ጥቅሞችን እና ጉዳቶችን እንመልከት ።

ጥቅሞቹ፡-

1. ፈጣን የውሂብ ሂደት.

2. የመስቀል መድረክ ድጋፍ።

3. ከብዙ የፕሮጀክቱ ቅርንጫፎች ጋር የመሥራት ችሎታ.

4. ለመጠቀም ቀላል.

5. እንደ CVS, Subversion, Git, Darcs, GNU Arch, Bazaar, ወዘተ የመሳሰሉ የሌላ የስሪት ድጋፍ ስርዓቶች ማከማቻዎችን የመቀየር ችሎታ.

ጉድለቶች፡-

1. በይዘት የሚለያዩ የክለሳዎች ኮድ ሊሆኑ የሚችሉ (ግን እጅግ በጣም ዝቅተኛ) ግጥሚያዎች።

2. በኮንሶል ውስጥ በመሥራት ላይ ያተኮረ.

መደምደሚያ፡-

ቀላል እና የተጣራ በይነገጽ፣ የትዕዛዝ ስብስብ እና ማከማቻዎችን ከሌሎች የስሪት ቁጥጥር ስርዓቶች የማስመጣት ችሎታ ወደ ሜርኩሪል እንዲሸጋገር እና ዋና ዋና ባህሪያትን ህመም እና ፈጣን ያደርገዋል። ከጥቂት ቀናት በላይ መውሰድ የማይመስል ነገር ነው።

አስተማማኝነት እና ፍጥነት ለትላልቅ ፕሮጀክቶች ስሪት ቁጥጥር እንዲውል ያስችለዋል. ይህ ሁሉ ሜርኩሪልን ለጊት ብቁ ተወዳዳሪ ያደርገዋል።

የባዛር ስሪት ቁጥጥር ስርዓት.
(bazaar.canonical.com)

ባዛር በካኖኒካል ሊሚትድ ድጋፍ የተገነባ፣ በነጻ የሚገኝ የስሪት ቁጥጥር ስርዓት ነው። በፓይዘን የተፃፈ ሲሆን በሊኑክስ፣ ማክ ኦኤስ ኤክስ እና ዊንዶውስ ኦፕሬቲንግ ሲስተሞች ላይ ይሰራል።

የክወና የከርነል ስሪቶችን ለመቆጣጠር ከተፈጠሩት Git እና Mercurial በተለየ የሊኑክስ ስርዓቶች, እና ስለዚህ ትኩረት ይስጡ ከፍተኛ አፈጻጸምእጅግ በጣም ብዙ ከሆኑ ፋይሎች ጋር ሲሰራ ባዛር ምቹ እና ተስማሚ የተጠቃሚ በይነገጽ ላይ አተኩሯል። የሥራውን ፍጥነት ማመቻቸት ቀድሞውኑ በሁለተኛው ደረጃ ላይ ተካሂዷል, የመጀመሪያዎቹ የፕሮግራሙ ስሪቶች ቀደም ብለው ሲታዩ.

እንደሌሎች ብዙ የስሪት ቁጥጥር ስርዓቶች የባዛር ትዕዛዝ ስርዓት ከCVS ወይም Subversion ትዕዛዞች ጋር በጣም ተመሳሳይ ነው፣ ሆኖም ግን፣ ከፕሮግራሙ ጋር ለመግባባት ምቹ፣ ቀላል እና ሊታወቅ የሚችል በይነገጽ ስለሚሰጥ የሚያስደንቅ አይደለም።

ከፕሮጀክት ቅርንጫፎች (ቅርንጫፎችን መፍጠር, ማዋሃድ, ወዘተ) ጋር አብሮ ለመስራት ትልቅ ትኩረት መሰጠቱ ጥሩ ነው, ይህም ከባድ ፕሮጀክቶችን በሚዘጋጅበት ጊዜ በጣም አስፈላጊ እና ዋናውን የሶፍትዌር ስሪት የማጣት ስጋት ሳይኖር ማሻሻያዎችን እና ሙከራዎችን እንዲያካሂዱ ያስችልዎታል. .

የዚህ የስሪት ቁጥጥር ስርዓት ትልቅ ፕላስ ከሌሎች የስሪት ቁጥጥር ስርዓቶች ማከማቻዎች ጋር አብሮ የመስራት ችሎታ ነው፣ ​​ለምሳሌ ሱቨርሽን ወይም ጂት።

የዚህን ስሪት ቁጥጥር ስርዓት በጣም ጉልህ የሆኑትን ጥቅሞች እና ጉዳቶች በአጭሩ እናጠቃልል.

ጥቅሞቹ፡-

1. የመስቀል መድረክ ድጋፍ.

2. ምቹ እና ሊታወቅ የሚችል በይነገጽ.

3. ከፕሮጀክት ቅርንጫፎች ጋር ቀላል ስራ.

4. ከሌሎች የስሪት ቁጥጥር ስርዓቶች ማከማቻዎች ጋር የመስራት ችሎታ.

5. በጣም ጥሩ ሰነዶች.

6. ምቹ የግራፊክ በይነገጽ.

7. እጅግ በጣም ተለዋዋጭነት, ከአንድ የተወሰነ ተጠቃሚ ፍላጎት ጋር እንዲላመዱ ያስችልዎታል.

ጉድለቶች፡-

1. ዝቅተኛ ፍጥነት ከጂት እና ሜርኩሪል ጋር ሲነጻጸር, ነገር ግን ይህ ሁኔታ ቀስ በቀስ እየተስተካከለ ነው.

2. ለሙሉ ተግባር, የስሪት ቁጥጥር ስርዓቱን ሁሉንም ችሎታዎች ሙሉ በሙሉ እንዲገልጹ የሚያስችልዎ በቂ ብዛት ያላቸው ተሰኪዎች መጫን አስፈላጊ ነው.

መደምደሚያ፡-

ባዛር - ምቹ ስርዓትየስሪት መቆጣጠሪያ በጥሩ በይነገጽ። ከትዕዛዝ መስመሩ ጋር የመሥራት ተስፋ ላቋረጡ ተጠቃሚዎች ጥሩ። ብዙ ተጨማሪ አማራጮችእና ቅጥያዎች ከፍላጎትዎ ጋር በሚስማማ መልኩ ፕሮግራሙን እንዲያበጁ ይፈቅድልዎታል። የትእዛዝ ስርዓቱ ከ Git እና Subversion ጋር ያለው ተመሳሳይነት እና ከማጠራቀሚያዎቻቸው ጋር በቀጥታ የመሥራት ችሎታ ወደ ባዛር ፈጣን እና ህመም የሌለው ሽግግር ያደርገዋል። የባዛሩ ስኬት በኡቡንቱ ሊኑክስ ገንቢዎች መጠቀሙም ይመሰክራል።

አርክ ስሪት ቁጥጥር ስርዓት.

አርክ በቶም ጌታ የተፈጠረ የተከፋፈለ የስሪት ቁጥጥር ስርዓት ነው። በመጀመሪያ የተፈጠረው የሲቪኤስ ችግሮችን ለመፍታት ነው, እነሱም ተሳክቶላቸዋል.

አርክ በማከማቻው ላይ ለውጦችን ለማስቀመጥ የአቶሚክ ስራዎችን ያከናውናል, ማለትም. ማከማቻ የማውረድ ሁኔታን ያስወግዳል፣ አንዳንድ ለውጦች ሲወርዱ እና አንዳንዶቹ ለማውረድ ገና ጊዜ አላገኙም።

የፕሮጀክት ስሪቶችን የቅርንጫፍ እና የግለሰቦችን ቅርንጫፎች የማዋሃድ ችሎታ ፣ የለውጦችን ታሪክ በመጠበቅ ፋይሎችን እና ማውጫዎችን እንደገና መሰየም እና ማንቀሳቀስ እና ሌሎች ብዙ ጥሩ ባህሪዎች ይደገፋሉ።

አያስፈልግም ልዩ አገልግሎትለአውታረ መረብ ማከማቻ እና እንደ ኤፍቲፒ፣ SFTP ወይም WebDAV እና የመሳሰሉትን ፕሮቶኮሎች መጠቀም ይችላል።

ግን በሚያሳዝን ሁኔታ, በ UNIX ስርዓቶች ብቻ የተደገፈ ነው, ነገር ግን አርክን ወደ ሌሎች ስርዓተ ክወናዎች ማስተላለፍ አስቸጋሪ መሆን የለበትም.

እንደ ጂት ፣ ሜርኩሪያል ፣ ባዛር ካሉ ሌሎች የተከፋፈሉ የስሪት ቁጥጥር ስርዓቶች ጋር ሲወዳደር በመሠረታዊ የተሻሉ ጥራቶችን ማወቅ አስቸጋሪ ነው ፣ ስለሆነም ምርጫ ካለዎት የበለጠ ኃይለኛ እና የተስፋፋውን ነገር መጠቀም የተሻለ ነው።

የስሪት ቁጥጥር ስርዓትን አስፈጽም.
(www.perforce.com)

የስሪት ቁጥጥር ስርዓቶችን ግምገማችንን እንቀጥል እና ወደ የንግድ ፕሮግራሞች እንሂድ። በማዕከላዊ የስሪት ቁጥጥር ስርዓት እንጀምር - Perforce፣ በ Perforce ሶፍትዌር የተገነባ።

የፐርፎርስ ሲስተም የደንበኛ አገልጋይ ድርጅት አለው እና ብዙ ፕሮጀክቶችን በአንድ ጊዜ እንዲያስተዳድሩ ይፈቅድልዎታል, ለእያንዳንዱ ፕሮጀክት የራሱን ማከማቻ ይፈጥራል.

ፐርፎርስ ተሻጋሪ ስርዓት ነው። በስርዓተ ክወናዎች ስር ሊሰሩ የሚችሉ ስሪቶች አሉ ዩኒክስ ስርዓቶችማክ ኦኤስ ኤክስ፣ ማይክሮሶፍት ዊንዶውስ.

ከስሪት ቁጥጥር ስርዓቱ ጋር ለመስራት ሁለቱንም ኮንሶል እና በተለየ ሁኔታ የተነደፈ የግራፊክ በይነገጽ መጠቀም ይችላሉ።

የፐርፎርስ ዋነኛ ጠቀሜታ ከብዙ የሶፍትዌር ማዳበሪያ መሳሪያዎች እና እንደ አውቶዴስክ 3D ስቱዲዮ ማክስ፣ ማያ፣ የመሳሰሉ መተግበሪያዎች ጋር የመዋሃድ ችሎታ ነው። አዶቤ ፎቶሾፕ, Microsoft Office, Eclipse, emacs እና ሌሎች ብዙ.

የፕሮጀክት ሥሪት ቅርንጫፎችን የመፍጠር ችሎታን መደገፍ ፣ በተለዋዋጭ ማስተዳደር ፣ ማዋሃድ ፣ ወደ ቀድሞው ክለሳዎች መመለስ - Perforce በጣም ተወዳዳሪ ያደርገዋል አቅም ያለው ስርዓትእና በስፋት እንዲሰራጭ አስተዋፅኦ ያደርጋሉ. ነገር ግን፣ ይህ የንግድ ምርት ነው፣ እሱም ወሰንን በመጠኑ በማጥበብ ስርጭቱን የሚገድብ ነው። በዋናነት በትልልቅ የንግድ ኩባንያዎች ውስጥ ጥቅም ላይ ይውላል, ለዚህም ተግባራዊነት አስፈላጊ ብቻ ሳይሆን ወቅታዊ የቴክኒክ ድጋፍም ጭምር ነው.

የቡድን ፋውንዴሽን አገልጋይ ስሪት ቁጥጥር ስርዓት.
(msdn.microsoft.com/en-us/library/ms364061.aspx)

በትክክል ለመናገር የቡድን ፋውንዴሽን አገልጋይ (ቲኤፍሲ) በቀላሉ የስሪት ቁጥጥር ስርዓት ተብሎ ሊጠራ አይችልም - ይህ የስሪት ቁጥጥር ስርዓት ፣ የመረጃ አሰባሰብ ስርዓት ፣ ሪፖርት ማድረግ እና ሌሎች ጠቃሚ ተግባራትን ያካተተ አጠቃላይ መፍትሄ ነው።

ከTFC ጋር ሲሰራ የሚተዳደር ፕሮጀክት የፕሮጀክት ምንጭ ኮድ ቅርንጫፎችን፣ የሪፖርት ስብስቦችን እና ብጁ ክፍሎችን ያቀፈ ነው። አንድ ፕሮጀክት በሚፈጥሩበት ጊዜ, የእሱ መለኪያዎች አስቀድመው ተመርጠዋል, ይህም እርስዎ እራስዎ መምረጥ ወይም አብነቶችን መጠቀም ይችላሉ. አብነቶች የፕሮጀክት ልማት መንገዱን እንዲወስኑ, ተለዋዋጭ ወይም ግትር በሆነ መልኩ መደበኛ እንዲሆን, የእድገት ስትራቴጂን ያስቀምጡ እና አስፈላጊ ሰነዶችን እና ሪፖርቶችን ግምት ውስጥ ያስገቡ.

TFC ከማይክሮሶፍት ኤክሴል እና ማይክሮሶፍት ፕሮጄክት ጋር በቀላሉ ይዋሃዳል፣ ይህም ቁጥጥር የሚደረግበት የፕሮጀክት አካላትን መፍጠር እና መከታተል በጣም ቀላል ያደርገዋል።

እንደ የስሪት ቁጥጥር ስርዓት፣ TFC የሚከተሉትን እንዲያደርጉ ይፈቅድልዎታል፡-

የፕሮጀክት ፋይሎችን በጋራ ያርትዑ;

ግጭቶችን መፍታት;

የፕሮጀክት ቅርንጫፎችን ይፍጠሩ እና ከዚያ ያዋህዷቸው;

ወደ ማከማቻው መድረስን ያስተዳድሩ;

ወደ ቀዳሚዎቹ ስሪቶች ይመለሱ;

በመጠባበቅ ላይ ያሉ ለውጦችን ይፍጠሩ - ወደ ማከማቻው በቀጥታ ያልተጨመሩ ለውጦች, ግን በሌሎች ተጠቃሚዎች ሊታዩ ይችላሉ, እና እነዚህ ለውጦች ሊወርዱ የሚችሉት ከለውጦቹ ባለቤት ልዩ ፍቃድ በማግኘት ብቻ ነው;

በማጠራቀሚያው ውስጥ የነጠላ የፋይሎችን ስሪቶች ምልክት ያድርጉ እና በቡድን ያቧድኗቸው።

የውሂብ ጎታዎች የተገነቡ ፕሮጀክቶችን ውሂብ እና ማከማቻዎች ለመቆጠብ ያገለግላሉ SQL አገልጋይ 2005.

TFC የምንጭ ኮድ ስሪቶችን ለማስተዳደር ብቻ ሳይሆን ፕሮግራሞችን ከመጻፍ ጀምሮ እስከ ሰነዶቻቸው ድረስ ሙሉውን የፕሮጀክት ልማት ዑደት ሙሉ በሙሉ ለማደራጀት የሚያስችል ኃይለኛ እና ምቹ መሳሪያ ነው። ይሁን እንጂ ይህ ኃይለኛ እና ውስብስብ ስርዓት ውስብስብ እና የተሟላ የልማት አስተዳደር ለሚፈልጉ ትላልቅ ፕሮጀክቶች የበለጠ ተስማሚ ነው. ትንሽ እድገት ካሎት, ከዚያ ያነሰ ኃይለኛ መሳሪያ, ወይም እንዲያውም የተሻለ, በነጻ የተከፋፈለ, ጊዜን, ገንዘብን እና ነርቮችን ስለሚቆጥብ መጠቀም ምክንያታዊ ነው.

አጠቃላይነት.

አንድ ትልቅ የስሪት ቁጥጥር ስርዓቶች ማንኛውንም መስፈርቶች እንዲያሟሉ እና ስራዎን በሚፈልጉበት መንገድ እንዲያደራጁ ያስችልዎታል. ሆኖም ግን, ከተለያዩ ስርዓቶች መካከል ግልጽ መሪዎች አሉ. ስለዚህ በአስር ሺዎች የሚቆጠሩ ፋይሎችን ያካተተ እና በሺዎች የሚቆጠሩ ሰዎች የሚሰሩበትን ግዙፍ ፕሮጀክት ማስተዳደር ከፈለጉ Git ወይም Mercurial መምረጥ የተሻለ ነው። ለእርስዎ ዋናው ነገር ምቹ በይነገጽ ከሆነ እና እየተገነባ ያለው ፕሮጀክት በጣም ትልቅ ካልሆነ የባዛር ስርዓት ለእርስዎ ይመረጣል.

ለሶሎ ፕሮግራመሮች ወይም ቅርንጫፍ መፍጠር ወይም ብዙ ስሪቶችን መፍጠር ለማይፈልጉ ትናንሽ ፕሮጄክቶች፣ Subversion የእርስዎ ምርጥ ምርጫ ነው።

ግን በመጨረሻ ምርጫው የጣዕም ጉዳይ ነው ፣ ምክንያቱም አሁን የሚፈልጉትን ሁሉ የሚሰጡዎት ብዙ የስሪት ቁጥጥር ስርዓቶች አሉ። ስለዚህ ምረጥ እና አትጸጸትም. የስሪት ቁጥጥር ስርዓቶች ለእያንዳንዱ ገንቢ እና ሌሎችም በፍፁም አስፈላጊ ሶፍትዌር ናቸው።


ከሶፍትዌር ልማት ጋር የተያያዘ ጥሩ አዲስ የንግድ ሃሳብ አለህ?በቴክኖሎጂ ውስብስብ መፍትሄ ማዘጋጀት ያስፈልግዎታል? ወይም በተመሳሳይ ተግባር ላይ የሚሰሩ ትልቅ የፕሮግራም አውጪዎች ቡድን አለህ? ከዚያም እነዚህን ሦስት ቃላት አስታውስ፡-የስሪት ቁጥጥር ስርዓት .

የስሪት ቁጥጥር ስርዓት (cvs), 2017 - አወዳድር: Git, SVN, Mercurial

, ወይም ቪሲኤስ- ብዙ ሰዎች ሲሰሩበት አንድ ፕሮጀክት እንዳይፈርስ የሚያደርገው ይህ ነው። ፕሮግራመሮች፣ ስራ አስኪያጆች፣ ኮፒ ዘጋቢዎች እርስ በእርሳቸው ውስጥ ጣልቃ ሳይገቡ እና ሊታረሙ የማይችሉ ጉዳቶችን ሳያስከትሉ እያንዳንዳቸው በራሳቸው ቁራጭ ሊሠሩ ይችላሉ።

ስለ ጽንሰ-ሐሳቡ ገና ካላወቁየስሪት ቁጥጥር ስርዓቶች, ከዚያ እዚህ ሁሉም ነገር በጣም በግልጽ ይታያል.

ወይም ቪዲዮውን ከ GitHub ይመልከቱ።

ስለዚህ የትኛው የስሪት ቁጥጥር ስርዓት ለፕሮጀክትዎ ትክክል ነው?

ምርጫ ለማድረግ ቀላል ለማድረግ ብዙ ታዋቂ መፍትሄዎችን አነጻጽረናል።

ይህ በጣም ልዩ ነው የቴክኒክ ርዕስ. ግምገማችን ለሁሉም ሰው እንዲረዳ ለማድረግ ሞክረናል። ነገር ግን የፕሮግራም አወጣጥ ልምድ ከሌልዎት፣ ውሳኔ ከማድረግዎ በፊት ከልማት ክፍልዎ ጋር መማከርዎን ያረጋግጡ።

የስሪት ቁጥጥር ስርዓቶችታዋቂውን SVN (Subversion) እና Git ን ጨምሮ በመጀመሪያ የተፈጠሩት የገንቢዎች ቡድኖች ግራ መጋባት ሳይፈጥሩ በትብብር ፕሮጀክቶች ላይ እንዲሰሩ ነው። በቁጥጥር ስርዓቱ ውስጥ የኮድ ቅርንጫፎችን በተናጥል መከታተል እና ማስታወሻዎቹን ለእነሱ ማጥናት አያስፈልግዎትም። በምትኩ, ሁሉም ነገር የተደራጀ እና የተዋቀረበት ማዕከላዊ ማከማቻ ጥቅም ላይ ይውላል. ፋይሎችን ለማዘመን፣ አስተያየቶችን ለመጨመር እና የፕሮጀክት ቅርንጫፎችን ለማዋሃድ ምቹ ነው።

ስለ ምን አስተያየትየስሪት ቁጥጥር ስርዓትበጣም ጥሩው, በጣም ይለያያል, እና ይህ ወደ ይመራል የጦፈ ክርክርበፕሮግራም አውጪዎች መካከል. መምረጥ እና ማጥናትየስሪት ቁጥጥር ስርዓቶችለፕሮጄክትዎ ፣ የአንድ የተወሰነ መፍትሄ ጥቅሞች ብዙውን ጊዜ ግላዊ እንደሆኑ ያስታውሱ። ለምሳሌ የፕሮግራም አድራጊው የግል ምርጫዎች ወይም እንደ አፈጻጸም ያሉ አመላካቾች፣ የ IDE ተሰኪዎች አቅም፣ ወዘተ.

በስሪት ቁጥጥር ስርዓቶች መካከል ያለው ዋናው ልዩነት ደንበኛ-አገልጋይ ወይም ያልተማከለ (p2p) መሆናቸው ነው። ኮዱ የተወሰደበት እና ከተደረጉ ለውጦች ጋር የሚመለስበት ማዕከላዊ ማከማቻ (ሰርቨር) አላቸው ወይ? ወይም ቅጂ ነው የአካባቢ ማከማቻ, በእኩዮች በኩል የዘመነ: ተጨማሪ ያልተማከለ አውታረ መረብ, ለማመሳሰል ጥቅም ላይ የሚውለው, የንጥቆች መለዋወጥ (የለውጥ ስብስቦች) እና የአሁኑን ኮድ ለመጠበቅ.

ለአንድ የተወሰነ የመግቢያ/የማስተማር ፍጥነት፣ ተግባር እና ገደብ ግምት ውስጥ ማስገባትም ተገቢ ነው።የቁጥጥር ስርዓቶች. በጣም የተለመዱትን እንይየስሪት ቁጥጥር ስርዓቶችእና ፕሮግራመሮች አንዳንድ መፍትሄዎችን የሚመርጡበት ምክንያቶች.

በተመሳሳይ ጊዜ ስሪት (ስሪት)ሲቪኤስ)

ሲቪኤስ በ1980ዎቹ የታየ ሲሆን አሁንም በሁለቱም የንግድ ምርት ገንቢዎች እና ክፍት ምንጭ ገንቢዎች ዘንድ ታዋቂ ነው።

ሲቪኤስ በውሉ ስር ተሰራጭቷል።የጂኤንዩ ክፍት የፍቃድ ስምምነት እና የተፈለገውን የፕሮጀክት ስሪት ከአገልጋዩ እንዲያገኙ ይፈቅድልዎታል - “ተመዝግቦ መውጣት" (ማውጣት) , እና ከዚያ ወደ አገልጋዩ መልሰው ይላኩት, "ተመዝግቦ መግባት"(ተመለስ)፣ከተደረጉ ለውጦች ጋር.

መጀመሪያ ሲ.ቪ.ኤስ የስሪት ግጭቶችን ለማስወገድ ተፈጠረ። ሁሉም ተሳታፊዎች እንዲሰሩበት የኮዱ የቅርብ ጊዜ ስሪት ብቻ ተሰጥቷቸዋል። ይህ የመጀመሪያው የስሪት ቁጥጥር ስርዓት ነበር። ተጠቃሚው በማከማቻው ላይ ሌሎች እሱን ከመምታቱ በፊት በፍጥነት ለውጦችን ማድረግ ነበረበት።

አሁን CVS በኮድ ቅርንጫፎች ፕሮጀክቶች ላይ ለመስራት ድጋፍ አለው. ይህ በኋላ ሊጣመሩ የሚችሉ የተለያዩ ባህሪያት ያላቸው በርካታ የምርት አማራጮችን ያስከትላል.

CVS አገልጋዮች ብዙውን ጊዜ በዩኒክስ ስር ነው የሚሰራው፣ ግንሲቪኤስ -ደንበኞች በሌሎች ታዋቂ ስርዓተ ክወናዎች ውስጥም ይገኛሉ።ሲቪኤስ - "የበሰለ", በጊዜ የተፈተነየስሪት ቁጥጥር ስርዓት. አሁንም ክፍት ምንጭ ስርዓት ነው ፣ ግን ዛሬ አዲስ ባህሪዎች በጣም አልፎ አልፎ ይታከላሉ።

በተመሳሳይ ጊዜ, CVSNT በተለየ ፕሮጀክት የተከፋፈለ ስሪት ነውሲቪኤስ ለዊንዶውስ አገልጋዮች - አሁን ተግባሩን በንቃት እያሰፋ ነው።

ጥቅሞቹ፡-

  • ለአሥርተ ዓመታት በገበያ ላይ የዋለ በጊዜ የተረጋገጠ ቴክኖሎጂ።

ጉድለቶች፡-

  • ፋይሎችን እንደገና መሰየም ወይም ማንቀሳቀስ በታሪክ ውስጥ አልተንጸባረቀም።
  • ጋር የተያያዙ የደህንነት ስጋቶች ምሳሌያዊ አገናኞችወደ ፋይሎች
  • ለአቶሚክ ስራዎች ምንም ድጋፍ የለም, ይህም ወደ ኮድ ብልሹነት ሊያመራ ይችላል
  • የፕሮግራም ኮድ ቅርንጫፎች ያሉት ክዋኔዎች ውድ ናቸው, ከዚህ ጀምሮየቁጥጥር ስርዓትከኮድ ቅርንጫፎች ጋር ለረጅም ጊዜ ፕሮጀክቶች የታሰበ አይደለም

Apache Subversion (SVN)

SVN እንደ አማራጭ ተፈጠረሲቪኤስ ድክመቶችን ለማስተካከልሲቪኤስ እና በተመሳሳይ ጊዜ ከእሱ ጋር ከፍተኛ ተኳሃኝነትን ያረጋግጡ.

እንደ ሲቪኤስ SVN ነፃ ስርዓት ነው።የስሪት ቁጥጥር ክፍት ምንጭ. ብቸኛው ልዩነት በ Apache ፍቃድ ስር መሰራጨቱ ነው, እና ስር አይደለምበጂኤንዩ የህዝብ ፍቃድ ስምምነት።

የመረጃ ቋቱን ትክክለኛነት ለመጠበቅ SVN አቶሚክ ኦፕሬሽኖች የሚባሉትን ይጠቀማል። አዲስ ስሪት ሲለቀቅ፣ ሁሉም ወይም አንዳቸውም ጥገናዎች በመጨረሻው ምርት ላይ አይተገበሩም። ስለዚህ, ኮዱ እርስ በርስ የማይጣጣሙ እና ስህተቶችን ከሚፈጥሩ ትርምስ ከፊል አርትዖቶች የተጠበቀ ነው.

ብዙ ገንቢዎች ወደዚህ ቀይረዋል።SVN, አዲሱ ቴክኖሎጂ የተሻሉ ባህሪያትን ስለሚወርስሲቪኤስ እና በተመሳሳይ ጊዜ አስፋፋቸው.

በሲ.ቪ.ኤስ የኮድ ቅርንጫፎች ያላቸው ክዋኔዎች ውድ ናቸው እና በስርዓቱ አርክቴክቸር አልተሰጡም, SVN የተፈጠረው ለዚህ ብቻ ነው. ማለትም ለትላልቅ ፕሮጀክቶች የኮድ ቅርንጫፍ እና ብዙ የልማት መስኮች.

የ SVN ጉዳቶች በንፅፅር ቀርፋፋ ፍጥነት እና የተከፋፈለ የስሪት ቁጥጥር እጥረትን ያካትታሉ። ተሰራጭቷል።የስሪት ቁጥጥር የሶፍትዌር ኮድ ዝመናዎችን ለማከማቸት ከተማከለ አገልጋይ ይልቅ የአቻ ለአቻ ሞዴል ይጠቀማል። እና የአቻ-ለ-አቻ ሞዴል በክፍት ምንጭ ፕሮጀክቶች ውስጥ በተሻለ ሁኔታ ቢሰራም, በሌሎች ሁኔታዎች ግን ተስማሚ አይደለም. የአገልጋይ-ጎን አቀራረብ ጉዳቱ አገልጋዩ ሲበላሽ ደንበኞች ኮዱን ማግኘት አይችሉም።

ጥቅሞቹ፡-

  • በስርዓት ላይ የተመሰረተሲቪኤስ
  • የአቶሚክ ስራዎችን ይፈቅዳል
  • የኮድ ቅርንጫፍ ስራዎች አነስተኛ ዋጋ አላቸው
  • የ IDE ተሰኪዎች ሰፊ ምርጫ
  • የአቻ ለአቻ ሞዴል አይጠቀምም።

ጉድለቶች፡-

  • ስህተቶች አሁንም ቀጥለዋል። ፋይሎችን እና ማውጫዎችን ከመሰየም ጋር የተያያዘ
  • ከማጠራቀሚያው ጋር አብሮ ለመስራት አጥጋቢ ያልሆነ የትዕዛዝ ስብስብ
  • በአንጻራዊ ሁኔታ ዝቅተኛ ፍጥነት

ጊት

ይህ ሥርዓት የተፈጠረው የሊኑክስ ከርነል ልማትን ለማስተዳደር ሲሆን ከCVS እና SVN ፈጽሞ የተለየ አካሄድ ይጠቀማል።

መሰረቱ እና ፈጣን ስርጭት ለመፍጠር ጽንሰ-ሀሳቦች ተቀምጠዋልየስሪት ቁጥጥር ስርዓትውስጥ ጥቅም ላይ ከዋሉት ደንቦች እና መፍትሄዎች በተቃራኒሲቪኤስ . Git በዋነኛነት የተገነባው ለሊኑክስ ስለሆነ፣ በዚህ ስርዓተ ክወና ላይ በጣም ፈጣኑ ይሰራል።

Git እንዲሁ በዩኒክስ መሰል ስርዓቶች (እንደ ማክኦኤስ) ይሰራል፣ እና mSysGit ጥቅል በዊንዶውስ መድረክ ላይ ለመስራት ያገለግላል።

ያለ ማከማቻ ኮምፒዩተር ሲጠቀሙ የፕሮግራሙ ኮድ ላይገኝ ይችላል። ለዚህ ችግር መፍትሔዎች አሉ፣ እና አንዳንድ ገንቢዎች የጊት ፍጥነት ለተፈጠረው ችግር የሚከፈል ትክክለኛ ዋጋ እንደሆነ ያምናሉ።

Git የእርስዎን የለውጥ ታሪክ ለማሰስ ብዙ መሳሪያዎችም አሉት። እያንዳንዱ የምንጭ ኮድ የስራ ቅጂ ሙሉውን የእድገት ታሪክ ይይዛል፣ ይህም ያለበይነመረብ ግንኙነት ፕሮግራም ሲዘጋጅ እጅግ በጣም ጠቃሚ ነው።

ጥቅሞቹ፡-

  • ለሚጠሉት ታላቅሲቪኤስ/ኤስቪኤን
  • የአፈፃፀም ጉልህ ጭማሪ
  • ከኮድ ቅርንጫፎች ጋር ርካሽ ስራዎች
  • ሙሉ የእድገት ታሪክ ከመስመር ውጭ ይገኛል።
  • የተከፋፈለ፣ የአቻ ለአቻ ሞዴል

ጉድለቶች፡-

  • ቀደም ሲል SVN ለተጠቀሙ ሰዎች ለመግባት (ለመማር) ከፍተኛ እንቅፋት
  • ለዊንዶውስ የተወሰነ ድጋፍ (ከሊኑክስ ጋር ሲነጻጸር)

ሜርኩሪል

, ጽንሰ-ሐሳብ ከጊት ጋር በተመሳሳይ ጊዜ ተለቋል። ይህ ደግሞ ነው።ተሰራጭቷል የስሪት ቁጥጥር ስርዓት.

ሜርኩሪል የሊኑክስ ከርነል ሞጁሎችን ለማዘጋጀት ከ Git እንደ አማራጭ ተፈጠረ። ነገር ግን Gitን ስለመረጥን, ሜርኩሪል ጥቅም ላይ የሚውለው ያነሰ ነው. ሆኖም ግን, ብዙ መሪ ገንቢዎች ከዚህ ስርዓት ጋር ይሰራሉ, ለምሳሌOpenOffice.org .

የሜርኩሪል ስሪት ቁጥጥር ስርዓት ከሌሎች የተለየ ነውየስሪት ቁጥጥር ስርዓቶችምክንያቱም በዋናነት በፓይዘን (C ሳይሆን) የተጻፈ ነው። ሆኖም አንዳንድ ክፍሎች በሲ ውስጥ እንደ የኤክስቴንሽን ሞጁሎች ይተገበራሉ።

ስርዓቱ ያልተማከለ እና በፓይዘን የተፃፈ በመሆኑ፣ ብዙ የፓይዘን ፕሮግራመሮች ወደ ሜርኩሪል የመቀየር ዝንባሌ አላቸው።

ተጠቃሚዎች ሜርኩሪል በሚኖሩበት ጊዜ አንዳንድ የSVN ባህሪያትን እንደያዘ ያስተውላሉ የተከፋፈለ ስርዓት, እና በዚህ ተመሳሳይነት ምክንያት, SVN ን ለሚያውቁ ሰዎች ለመግባት ዝቅተኛ እንቅፋት አለው. የሜርኩሪል ሰነዶችም የበለጠ የተሟላ ነው፣ ይህም ልዩነቶቹን በፍጥነት እንዲለማመዱ ይረዳዎታል።

አንዱ ጉልህ ድክመቶችሜርኩሪል ከጂት በተለየ መልኩ ሁለት የወላጅ ቅርንጫፎችን ማዋሃድ አይችልም, ምክንያቱም Mercurial ከስክሪፕት ድጋፍ ይልቅ ፕለጊን ሲስተም ይጠቀማል. ይህ ለአንዳንድ ፕሮግራመሮች በጣም ጥሩ ነው ፣ ግን ብዙዎች የጊት ኃይልን መተው አይፈልጉም።

ጥቅሞቹ፡-

  • ከጂት ጋር ሲነጻጸር ለመማር ቀላል ነው።
  • ዝርዝር ሰነዶች
  • የተከፋፈለ ሞዴልየስሪት ቁጥጥር ስርዓቶች

ጉድለቶች፡-

  • ሁለት የወላጅ ቅርንጫፎችን ለማዋሃድ ምንም አማራጭ የለም
  • ከስክሪፕቶች ይልቅ ተሰኪዎችን መጠቀም
  • መደበኛ ላልሆኑ መፍትሄዎች ያነሱ እድሎች

የትኛውየስሪት መቆጣጠሪያ ለእኔ ይሰራል?

በአብዛኛዎቹ ሁኔታዎች ገንቢዎች ይጠቀማሉሲቪኤስ ምክንያቱም ለእነሱ የበለጠ የታወቀ ነው. አንድ ቡድን ቀድሞውኑ በፕሮጀክት ላይ እየሰራ ከሆነ ሁሉንም እድገቶች ወደ ሌላ የማስተላለፍ እድሉየቁጥጥር ስርዓትበሆነ መንገድ አነሳሽ አይደለም. ስርዓቱን መቀየር ካለባቸው ምናልባት ወደ SVN ይቀይሩ ይሆናል።

ሲቪኤስ አስቀድሞ “የበሰለ ቴክኖሎጂ” ደረጃ ላይ ደርሷል፣ ይህ ማለት በመሰረቱ አዲስ ባህሪያት እና መፍትሄዎች በእሱ ውስጥ አይታዩም። ሰዎች ወደ SVN ሲሄዱ የልማዱ ፍጥነት ይጠፋል። ይህ ማለት ሲቪኤስ ቀስ በቀስ ያለፈ ታሪክ እየሆነ መጥቷል ማለት ነው።

ዛሬ SVN በአገልጋይ አገልጋዮች መካከል መዳፉን ይይዛልየስሪት ቁጥጥር ስርዓቶች. ጥቅሞችን ያካትታልሲቪኤስ ከእነርሱም ይበልጣል። ስለ ሥርጭት ከተነጋገርን ፣ ከዚያ ብዙ ጊዜ ሊያጋጥሙዎት ይችላሉ።ሲቪኤስ ወይም SVN ከ Git ወይም Mercurial ይልቅ። ስለዚህ፣ የአንድ አገልጋይ ቴክኖሎጂ እውቀት ምንም እንኳን አስፈላጊ ባይሆንም ሽግግርዎን ያቀልልዎታል።

በቴክኖሎጂው ሰፊ አጠቃቀም እና ብስለት ምክንያት SVN ትልቅ የእውቀት መሰረት ስላለው ለተጠቃሚዎች እርዳታን ቀላል ያደርገዋል።

Git በግልጽ ከተወዳዳሪዎቹ የበለጠ ፈጣን ነው። ለማሰራጨት ለተፈጠሩ ፕሮጀክቶችየስሪት ቁጥጥር ስርዓቶች, ይህ ግልጽ የሆነ መሻሻል ነው.

የጂት ጉልህ ኪሳራ አንዳንድ ጊዜ እንዴት እንደሚሰራ ልዩ ሁኔታዎችን ማብራራት አስቸጋሪ መሆኑ ነው።የቁጥጥር ስርዓቶችይህ ደግሞ ፕሮግራመሮች ሲለምዱት የስራ ሂደቱን ያቀዘቅዘዋል። ነገር ግን "የመግቢያ ገደብ" ከተሸነፈ በኋላ ምርታማነት ይጨምራል እና የኮድ ቅርንጫፎችን የማስተዳደር ምቾት ጊዜውን ሙሉ በሙሉ ይከፍላል.

Gitን ለሚጠሉ (እና በገንቢዎች መካከል ተሟጋቾች አሉት) ፣ Mercurial በ SVN እና Git መካከል ስምምነት ነው። ይህ ስርዓት በብዙ ታዋቂ ፕሮጀክቶች ውስጥ ጥቅም ላይ የሚውል ሲሆን ጥሩ ሰነዶችም አሉት.

ጋር የሚስማማ የዊንዶውስ ስሪት Git እንደ ሊኑክስ ስሪት በፍጥነት ወደ መሆን እየገሰገሰ ነው፣ ስለዚህ በሊኑክስ ላይ ባይገነቡም ለእርስዎ ጠቃሚ ሊሆን ይችላል።

የትኛው ለእርስዎ ምርጥ እንደሆነ ለመረዳት የፕሮጀክቱን እና የቡድንዎን ባህሪያት ግምት ውስጥ ያስገቡ. ገንቢዎችን ያነጋግሩ!

አንድ ፕሮጀክት በትንሽ የፕሮግራም አውጪዎች ቡድን የሚሰራ ነጠላ ምንጭ ኮድ ዛፍ ከፈለገ SVN የእርስዎ አማራጭ ነው። ለእንደዚህ አይነት ጉዳዮች ብቻ አስተማማኝ እና የተነደፈ ነው.

የክፍት ምንጭ ፕሮጀክት እየጀመርክ ​​ከሆነ፣ በእሱ ላይ የተለያዩ ጊዜያትብዙ ፕሮግራመሮች ይሰራሉ ​​ወይም ኮዱን ያለማቋረጥ ለማዘመን ካቀዱ Git ን ይምረጡ። የፍጥነት እና የምንጭ ዛፍ አስተዳደር እዚህ ከኤስቪኤን በጣም የተሻለ ነው።

መንታ መንገድ ላይ ከሆንክ ወይም SVN ወይም Git የሚሰሩበትን መንገድ ካልወደድክ ሜርኩሪያል ላንተ ነው።

እነዚህ ሁሉ ስርዓቶች ሙሉ በሙሉ የሚሰሩ ናቸው. እንዲሁም ነፃ። እርስዎ የሚጠቀሙባቸውን እና የሚያውቋቸውን ሶፍትዌሮችን፣ ድረ-ገጾችን እና ኦፕሬቲንግ ሲስተሞችን ለመፍጠር ያገለግላሉ።

በመጀመሪያ ደረጃ አንድ ወይም ሌላ ተስማሚ መሆኑን ይወስኑየቁጥጥር ስርዓትለንግድዎ ስሪቶች እና ከዚያ - ልክ እንደ አስፈላጊነቱ - ይህ ምርጫ ፕሮግራመሮችን እንደማያስቆጣ ያረጋግጡ።

በSVN መጀመር

ከSVN ወይም Git ጋር ሰርተህ የማታውቅ ከሆነ እና እንዴት መጀመር እንዳለብህ የማታውቀው ከሆነማስተናገጃ መፍትሄ ጋር ተጣምሮ ግራፊክ በይነገጽ በፍጥነት እንዲላመዱ ይረዳዎታል.

እንደ አብዛኞቹ ሁኔታዎች, በጣም አስፈላጊው ነገር መስራት መጀመር ነው, ከዚያም መረዳት ይመጣል. የስሪት ቁጥጥር ስርዓትን መስራት የኤፍቲፒ ደንበኛን በመጠቀም በአገልጋይ ላይ ከፋይሎች ጋር አብሮ መስራት በጣም ተመሳሳይ ነው።

ማስታወሻ፡-ለ ብዙ ማስተናገጃ መፍትሄዎች አሉ።የስሪት ቁጥጥር ስርዓቶችነፃን ጨምሮ የሙከራ ጊዜ. በእነሱ መሰረት የመጀመሪያዎን ማከማቻ (ከኮድ ፋይሎች ጋር ለመተባበር ቦታ) መፍጠር ይችላሉ። ከእነዚህ አገልግሎቶች ውስጥ ጥቂቶቹ እነሆ፡-

SVN እና GIT ማስተናገጃ

የመጀመሪያውን ማከማቻ መፍጠር

መለያ ከፈጠሩ በኋላ, ማከማቻ መፍጠር አለብዎት - ለእያንዳንዱ መድረክ በተናጠል. ብዙውን ጊዜ ይህን ይመስላል:

  • ወደ መለያዎ ይግቡ፣ ፕሮጀክቶችዎን ጠቅ ያድርጉ።
  • ፕሮጀክት መፍጠር;
  • በ "አዲስ ፕሮጀክት ፍጠር" መስመር ውስጥ የፕሮጀክትዎን ስም ያስገቡ
  • "ፕሮጀክት ፍጠር" ቁልፍን ጠቅ ያድርጉ
  • የኤስቪኤን ግንኙነት፡-
  • ፕሮጀክቱን ከፈጠሩ በኋላ "ምንጭ መቆጣጠሪያ" የሚለውን ትር (የምንጭ ኮድ ስሪቶች) ይምረጡ.
  • አገናኙን ጠቅ ያድርጉ "ምንጭ መቆጣጠሪያን አንቃ"
  • ለማከማቻው ስም ይስጡት።
  • "አስቀምጥ" ን ጠቅ ያድርጉ

ግራፊክ ደንበኞች SVN እና GIT

ስለዚህ, ማከማቻው ተፈጥሯል. አሁን ሁሉም ነገር በእሱ ውስጥ በቀላሉ እና በግልጽ እንዲታይ እንፈልጋለን. ይህንን ለማድረግ GUI ያስፈልግዎታል።

ምቹ ፕሮግራምጋር ለመስራትየስሪት ቁጥጥር ስርዓቶችበማይክሮሶፍት ዊንዶውስ እና ምናልባትም በጣም ጥሩው የ Apache Subversion ደንበኛ ይገኛል። TortoiseSVN እንደ የዊንዶው ሼል ማራዘሚያ ተተግብሯል, ይህም ወደ ውስጥ ለመግባት ቀላል ያደርገዋልአሳሽ. እንዲሁም 34 የቋንቋ ጥቅሎች ያሉት ክፍት ምንጭ ፕሮግራም ነው።

SmartGit

- የጂት ግራፊክ ደንበኛ (ክፍት ምንጭ ተሰራጭቷል።የስሪት ቁጥጥር ስርዓት). በዊንዶውስ፣ ማክ ኦኤስ ኤክስ እና ሊኑክስ ላይ ይሰራል።የፍቃድ ዋጋ - 39 ዶላር

ማከማቻውን "በማጣራት ላይ" ("Checkout")

ስለዚህ, ደንበኛው ተመርጧል. አሁን ለቁጥጥር ስርዓቱ ማጠራቀሚያ መፍጠር ያስፈልግዎታል. መግባት ያስፈልጋልየእርስዎ ማከማቻ URL፣ የተጠቃሚ ስም እና የይለፍ ቃል።

ዩአርኤል ብዙውን ጊዜ ይህን ይመስላል፡-https://svn .hostname.com/svn/ > (የተከፈለበት መለያ ካለዎት https:// (SSL) መጠቀም ይችላሉ)

  1. ወደ ስርወ አቃፊ ይሂዱ, Check Out የሚለውን ቁልፍ ጠቅ ያድርጉ እና ለደንበኛው የሚሰራ አቃፊ ይፍጠሩ. አሁን ፋይሎችን ወደ እሱ ማከል ይችላሉ።
  2. አንዴ የፕሮጀክት ፋይሎቹ ከተወጡ በኋላ በኮምፒዩተርዎ ላይ በአካባቢያዊ ማውጫ ውስጥ ማርትዕ ይችላሉ።

በፋይሎቹ ላይ ለውጦችን ካደረጉ በኋላ, ለማስቀመጥ በመሳሪያ አሞሌው ላይ ያለውን ተመዝግበው ይግቡ የሚለውን ቁልፍ ይጫኑ. ለውጦችን መገምገም እና በእነሱ ላይ አስተያየቶችን ማከል ይችላሉ - ይህ በጣም ጥሩ ሀሳብ ነው ፣ ምክንያቱም ለወደፊቱ እርስዎ ምን ላይ እንደሰሩ ፣ ምን ለውጦች እንደተደረጉ በትክክል ያውቃሉ እና ሌሎች የፕሮጀክት ተሳታፊዎችን ያሳውቃሉ።

ደንበኛዎ የክለሳ ምዝግብ ማስታወሻውን በመክፈት ወይም ታሪክን በመቀየር በማንኛውም ጊዜ ከክለሳዎች ጋር አብሮ የመስራት ችሎታን መስጠት አለበት - ከዚያ አስፈላጊ ከሆነ ወደ "መመለስ" ይችላሉ የቀድሞ ስሪትለእያንዳንዱ ፋይል በተናጠል. አሁን ከመሠረታዊ ፅንሰ-ሀሳቦች, ሰነዶች ጋር በደንብ ያውቃሉ