l ؟ عو ا ● ةادأ ت ا تا . ● ةادأ ُ ت ا كز ا وأ ةاد ا ا ا versioncontrol Git . Software م ُ ا versioncontrol . و أ عا أ ا version control . ا ا ا ا ا م ُ ا versioncontrol : ●CVS ●SVN ●Perforce ●Bazzare Git vs. نﯾﺑ قرﻔﻟا وھ ﺎﻣ تﺎﻔﻠﻣﻟاو ﺢﻣﺳﯾو داوﻛﻷﺎﺑ . ﺔﻘﻠﻌﺗﻣﻟا ﻲﻠﻋ ( تارﯾﻐﺗﻟا رﯾدُﯾ ) version control تﺎﻔﻠﻣﻟا مﯾظﻧﺗو ةرﺎﺑﻋ وھ .عورﺷﻣﻟا ﺞﻣﺎﻧرﺑ لا لﺧاد .زﺎﮭﺟ يأ نﻣ ﺎﮭﻠﯾدﻌﺗو Github لا ﻊﯾرﺎﺷﻣﻟا-- ﺎﻣ ﻲھ لا gitinit ؟ لا git init ﻲھ رﻣأ مدﺧﺗﺳُﯾ ﻲﻓ Git ءﺎﺷﻧﻹ عدوﺗﺳﻣ ) Repository ( . دﯾدﺟ مﺗﯾ مادﺧﺗﺳا اذھ عورﺷﻣ . دﯾدﺟ ﺎﻣدﻧﻋ موﻘﺗ لﯾﻐﺷﺗﺑ git init موﻘﯾ Git ءﺎﺷﻧﺈﺑ دﻠﺟﻣ دﯾدﺟ ﻲﻓ رﺎﺳﻣﻟا ﻲﻟﺎﺣﻟا ﻰﻣﺳﯾ " git . ". مﺗﯾ مادﺧﺗﺳا اذھ دﻠﺟﻣﻟا نﯾزﺧﺗﻟ ﻊﯾﻣﺟ تﺎﻧﺎﯾﺑ Git ﺔﻘﻠﻌﺗﻣﻟا كﻋدوﺗﺳﻣﺑ لﺛﻣ ﺦﯾرﺎﺗ عورﺷﻣﻟا تﻼﺟﺳو تارادﺻﻹا ﺎھرﯾﻏو نﻣ . تﺎﻣوﻠﻌﻣﻟا gitinit ﻲھ رﻣأ مدﺧﺗﺳُﯾ ﻲﻓ Git ءﺎﺷﻧﻹ عدوﺗﺳﻣ ) Repository ( . دﯾدﺟ مﺗﯾ مادﺧﺗﺳا اذھ رﻣﻷا ﺎﻣدﻧﻋ جﺎﺗﺣﺗ ﻰﻟإ ءﺎﺷﻧإ عدوﺗﺳﻣ ) Repository ( دﯾدﺟ كﻋورﺷﻣﻟ ﻲﻟﺎﺣﻟا وأ ءدﺑﻟ عورﺷﻣ .دﯾدﺟ ﺎﻣدﻧﻋ موﻘﺗ لﯾﻐﺷﺗﺑ git init موﻘﯾ Git ءﺎﺷﻧﺈﺑ دﻠﺟﻣ دﯾدﺟ ﻲﻓ رﺎﺳﻣﻟا ﻲﻟﺎﺣﻟا ﻰﻣﺳﯾ " git . ". مﺗﯾ مادﺧﺗﺳا اذھ دﻠﺟﻣﻟا نﯾزﺧﺗﻟ ﻊﯾﻣﺟ تﺎﻧﺎﯾﺑ Git ﺔﻘﻠﻌﺗﻣﻟا كﻋدوﺗﺳﻣﺑ لﺛﻣ ﺦﯾرﺎﺗ عورﺷﻣﻟا تﻼﺟﺳو تارادﺻﻹا ﺎھرﯾﻏو نﻣ . تﺎﻣوﻠﻌﻣﻟا gitadd ● مدﺧﺗﺳُﯾ اذھ رﻣﻷا ﺔﻓﺎﺿﻹ تﺎﻔﻠﻣﻟا ةددﺣﻣﻟا ﻰﻟإ ﺔﻘطﻧﻣ رﺎظﺗﻧﻻا ) stagingarea (، ﻲﺗﻟاو ﺢﻣﺳﺗ كﻟ دﯾدﺣﺗﺑ تﺎﻔﻠﻣﻟا ﻲﺗﻟا مﺗﯾﺳ ﺎﮭﻧﯾﻣﺿﺗ ﻲﻓ لا commit . مدﺎﻘﻟا ● ﺔﻓﺎﺿﻹ تﺎﻔﻠﻣ ةدﯾدﺟ كﻧﻛﻣﯾ مادﺧﺗﺳا gitadd ﺎًﻋوﺑﺗﻣ ءﺎﻣﺳﺄﺑ . تﺎﻔﻠﻣﻟا ﻰﻠﻋ لﯾﺑﺳ لﺎﺛﻣﻟا gitaddfile1. txtfile2. txt. gitcommit ● مدﺧﺗﺳُﯾ اذھ رﻣﻷا ظﻔﺣﻟ تارﯾﯾﻐﺗﻟا ﻲﺗﻟا تﻣﺗ ﺎﮭﺗﻓﺎﺿإ ﻰﻟإ ﺔﻘطﻧﻣ رﺎظﺗﻧﻻا ) staging area ( ﺎﮭﻘﯾﺑطﺗو ﻰﻠﻋ عدوﺗﺳﻣﻟا ) Repository ( صﺎﺧﻟا . كﺑ ● ءﺎﺷﻧﻹ commit دﯾدﺟ كﻧﻛﻣﯾ مادﺧﺗﺳا gitcommit ﺎًﻋوﺑﺗﻣ ﺔﻟﺎﺳرﺑ commit ﺎ ً ﻔﺻو تارﯾﯾﻐﺗﻠﻟ ﻲﺗﻟا تﻣﻗ . ﺎﮭﺑ ﻰﻠﻋ لﯾﺑﺳ لﺎﺛﻣﻟا gitcommit-m" تﻔﺿأ تﺎﻔﻠﻣ ةدﯾدﺟ " ﻲﻓ ﻲﻓ مﺗ ﻲﺗﻟا نﯾزﺧﺗ ● عدوﺗﺳﻣﻟا ثﯾدﺣﺗﻟ يأ مﺋاد ﻲﻓ لﻛﺷﺑ ﺎﮭﯾﻟإ commit ةدوﻌﻟﺎﺑ ﺎھؤارﺟإ ، ﺢﻣﺳﯾ .ﮫﻧﻣ ﺎﻣﻣ كﺑ ﺔﻘﺑﺎﺳ تارﯾﯾﻐﺗﻟا صﺎﺧﻟا ( مﺗﯾ ) Repository ﺔﺧﺳﻧ ةدﺎﻌﺗﺳا وأ عورﺷﻣﻟا ● ﻲھ رﻣأ ﻲﻓ Git مدﺧﺗﺳُﯾ ضرﻌﻟ لﺟﺳ تﺎﻣازﺗﻟا ) Commits ( عدوﺗﺳﻣﻟا ) Repository . ● ضرﻌﯾ اذھ رﻣﻷا ﺔﻣﺋﺎﻗ لﻛﺑ تﺎﻣازﺗﻟﻻا ) Commits ( ةدوﺟوﻣﻟا ﻲﻓ عرﻔﻟا ﻲﻟﺎﺣﻟا عدوﺗﺳﻣﻠﻟ ) Repository ، لﻣﺷﯾو لﻛ مازﺗﻟا ) Commit ( تﺎﻣوﻠﻌﻣ لﺛﻣ ةرﻔﺷﻟا ﺔﯾﻔﯾرﻌﺗﻟا مازﺗﻟﻼﻟ ) commithash ( فﻟؤﻣﻟاو ﺦﯾرﺎﺗﻟاو ﺔﻟﺎﺳرﻟاو ﺔﯾﺣﯾﺿوﺗﻟا مازﺗﻟﻼﻟ ) Commit . ● لﻛﺷﺑ ، مﺎﻋ Git log نﻛﻣﯾ ﮫﻣادﺧﺗﺳا مﮭﻔﻟ ﺦﯾرﺎﺗ عدوﺗﺳﻣﻟا لﯾﻠﺣﺗو ﮫﺗاروطﺗ لﻛﺷﺑ ﺎﮭﺗﻌﺟارﻣو gitignore ● وھ فﻠﻣ مﺗﯾ هؤﺎﺷﻧإ لﺧاد دﻠﺟﻣ لﻣﻌﻟا صﺎﺧﻟا عورﺷﻣﺑ Git يوﺗﺣﯾو ﻰﻠﻋ ﺔﻣﺋﺎﻗ تﺎﻔﻠﻣﻟﺎﺑ تادﻠﺟﻣﻟاو ﻲﺗﻟا بﺟﯾ ﺎﮭﻠھﺎﺟﺗ دﻧﻋ ﻊﺑﺗﺗ تارﯾﯾﻐﺗ عورﺷﻣﻟا مادﺧﺗﺳﺎﺑ Git . ● ﺎﻣدﻧﻋ ﺊﺷﻧﺗ عدوﺗﺳﻣ Git ا ًدﯾدﺟ ، ﻊﺿﺗﺳ كﺗﺎﻔﻠﻣ كﺗادﻠﺟﻣو لﺧاد دﻠﺟﻣ لﻣﻌﻟا ، موﻘﺗﺳو ﻊﺑﺗﺗﺑ تارﯾﯾﻐﺗ هذھ تﺎﻔﻠﻣﻟا مادﺧﺗﺳﺎﺑ Git . ﻊﻣو كﻟذ ، دﻗ نوﻛﯾ كﺎﻧھ تﺎﻔﻠﻣ وأ تادﻠﺟﻣ رﯾﻏ ﺔﯾرورﺿ وأ رﯾﻏ بوﻏرﻣ ﺎﮭﯾﻓ ، لﺛﻣ تﺎﻔﻠﻣ نﯾوﻛﺗﻟا وأ تﺎﻔﻠﻣ مﺿﺗ تﺎﻣوﻠﻌﻣ ﺔﺳﺎﺳﺣ وأ تﺎﻔﻠﻣ . ﺔﺗﻗؤﻣ نﻛﻣﯾ مادﺧﺗﺳا فﻠﻣ gitignore . مﯾﻠﻌﺗﻟ Git لھﺎﺟﺗ هذھ تﺎﻔﻠﻣﻟا ، ﻰﺗﺣ ﻻ مﺗﯾ ﺎﮭﻌﺑﺗﺗ نﻣﺿ تﻼﺟﺳ ﺦﯾرﺎﺗﻟا . Branches فرﻌُ ﺗ ـﻟا " Branches " ﺎﮭﻧﺄﺑ ﺢﻣﺳﺗ كﻟ رﯾوطﺗﺑ تارﺎﺳﻣ ﺔﻔﻠﺗﺧﻣ تارﯾﯾﻐﺗﻠﻟ ﻰﻠﻋ عدوﺗﺳﻣ Git صﺎﺧﻟا . كﺑ دﻧﻋ ءﺎﺷﻧإ عرﻓ ) Branch ( دﯾدﺟ كﻧﻛﻣﯾ رﯾوطﺗ ءازﺟأ وأ ءارﺟإ تارﯾﯾﻐﺗﻟا نود رﯾﺛﺄﺗﻟا ﻰﻠﻋ ءازﺟﻷا ىرﺧﻷا ﻲﺗﻟا لﻣﻌﺗ ﺎﮭﯾﻠﻋ قرﻓ لﻣﻌﻟا ىرﺧﻷا ﻲﻓ سﻔﻧ .عورﺷﻣﻟا يأ كﻧأ فوﺳ ذﺧﺄﺗ ﺔﺧﺳﻧ نﻣ عورﺷﻣﻟا موﻘﺗو لﯾدﻌﺗﻟﺎﺑ ﮫﯾﻠﻋ نﻟو رﺛﺄﺗﯾ عورﺷﻣﻟا ﻲﺳﯾﺋرﻟا يﺄﺑ لﯾدﻌﺗ موﻘﺗ ، ﮫﺑ دﻌﺑو نا دﻛﺄﺗﺗ نا ﺎﻣ تﻣﻗ ﮫﺗﻓﺎﺿﺈﺑ وأ ﮫﻠﯾدﻌﺗ طوﺑﺿﻣ ﻊﯾطﺗﺳﺗ نأ موﻘﺗ ﮫﺗﻓﺎﺿﺎﺑ عورﺷﻣﻠﻟ . ﻲﺳﯾﺋرﻟا GitBranch وھ رﻣأ ﻲﻓ Git مدﺧﺗﺳُﯾ ءﺎﺷﻧﻹ عورﻓ ) Branches ( ةدﯾدﺟ ﻲﻓ عدوﺗﺳﻣ Git صﺎﺧﻟا . كﺑ ﺎﻣدﻧﻋ ﺊﺷﻧﺗ ﺎًﻋرﻓ ) Branch ( ا ًدﯾدﺟ مﺗﯾ ءﺎﺷﻧإ ﺔﺧﺳﻧ نﻣ لﻛ ءﻲﺷ دوﺟوﻣ ﻲﻓ عرﻔﻟا ، ﻲﻟﺎﺣﻟا ﺎﻣﺑ ﻲﻓ كﻟذ ﻊﯾﻣﺟ تﺎﻔﻠﻣﻟا لﺟﺳو ﺦﯾرﺎﺗﻟا صﺎﺧﻟا ، عدوﺗﺳﻣﻟﺎﺑ مدﺧﺗﺳُ ﺗو هذھ عورﻔﻟا ﺔﺑرﺟﺗﻟ رﯾوطﺗو تازﯾﻣ ةدﯾدﺟ نودﺑ رﯾﺛﺄﺗﻟا ﻰﻠﻋ عرﻔﻟا . ﻲﺳﯾﺋرﻟا ءﺎﺷﻧﻹ عرﻓ ، دﯾدﺟﻟا ﻰﻠﻋ لﯾﺑﺳ :لﺎﺛﻣﻟا gitbranchnew-feature GitCheckout: وھ رﻣأ ﻲﻓ Git مدﺧﺗﺳُﯾ لﯾدﺑﺗﻠﻟ نﯾﺑ عورﻔﻟا ﺔﻔﻠﺗﺧﻣﻟا ﻲﻓ عدوﺗﺳﻣ Git صﺎﺧﻟا . كﺑ دﻧﻋ لﯾﻐﺷﺗ اذھ رﻣﻷا ﻊﻣ مﺳا ،