-
Notifications
You must be signed in to change notification settings - Fork 2.1k
1 #2072
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
essa01442
wants to merge
155
commits into
progit:main
Choose a base branch
from
essa01442:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
1 #2072
Changes from 4 commits
Commits
Show all changes
155 commits
Select commit
Hold shift + click to select a range
b7517b7
Translate Chapter 1 to Arabic while retaining English technical terms
google-labs-jules[bot] 5160cf0
Merge pull request #1 from essa01442/arabic-translation-ch01-85461713…
essa01442 b2ac3eb
Translate Chapter 2 to Arabic while retaining English technical terms
google-labs-jules[bot] c760ec8
Merge pull request #2 from essa01442/arabic-translation-ch01-85461713…
essa01442 8e72814
Translate Chapter 3 to Arabic while retaining English technical terms
google-labs-jules[bot] b1b5123
Merge pull request #3 from essa01442/arabic-translation-ch01-85461713…
essa01442 4968804
Initial plan
Copilot 737d1b5
Translate Chapter 4 introduction and summary to Arabic
google-labs-jules[bot] 8117a85
Merge pull request #5 from essa01442/arabic-translation-ch04-main-512…
essa01442 7dd99cd
Translate Chapter 4 protocols section to Arabic
google-labs-jules[bot] 3e25219
Merge pull request #6 from essa01442/arabic-translation-ch04-main-512…
essa01442 cf3ba06
Merge pull request #4 from essa01442/copilot/translate-book-to-arabic
essa01442 fbb032e
Translate Chapter 4 git-on-a-server and protocols sections to Arabic
google-labs-jules[bot] 074655a
Merge branch 'main' into arabic-translation-ch04-main-512104986013215…
essa01442 8c4ebf0
Merge pull request #7 from essa01442/arabic-translation-ch04-main-512…
essa01442 e6e1c14
Translate Chapter 4 generating-ssh-key and setting-up-server sections…
google-labs-jules[bot] 4e27403
Merge branch 'main' into arabic-translation-ch04-main-512104986013215…
essa01442 10881c6
Merge pull request #8 from essa01442/arabic-translation-ch04-main-512…
essa01442 0f3a66b
Translate Chapter 4 git-daemon and smart-http sections to Arabic
google-labs-jules[bot] bad5be3
Merge branch 'main' into arabic-translation-ch04-main-512104986013215…
essa01442 0beb924
Merge pull request #9 from essa01442/arabic-translation-ch04-main-512…
essa01442 3efa65c
Translate gitweb.asc, gitlab.asc, hosted.asc to Arabic
google-labs-jules[bot] e4af5c3
Merge pull request #10 from essa01442/translation-ch04-part2-99423021…
essa01442 3992de0
Translate Chapter 05 (distributed-git) to Arabic
google-labs-jules[bot] a02a750
Merge pull request #11 from essa01442/translation-ch04-part2-99423021…
essa01442 ace843b
Translate Chapter 06 (github) sections to Arabic
google-labs-jules[bot] 28f4555
Merge branch 'main' into translation-ch04-part2-9942302174950264684
essa01442 2c841d3
Merge pull request #12 from essa01442/translation-ch04-part2-99423021…
essa01442 3c49dfb
Translate Chapter 07 (git-tools) part 1 sections to Arabic
google-labs-jules[bot] f68e02d
Merge branch 'main' into translation-ch04-part2-9942302174950264684
essa01442 b7d5847
Merge pull request #13 from essa01442/translation-ch04-part2-99423021…
essa01442 0c940fb
Translate Chapter 07 (git-tools) part 2 sections to Arabic
google-labs-jules[bot] 55f82bd
Merge branch 'main' into translation-ch04-part2-9942302174950264684
essa01442 6f027da
Merge pull request #14 from essa01442/translation-ch04-part2-99423021…
essa01442 3a4517b
translate: 07-git-tools signing.asc to Arabic
google-labs-jules[bot] 62c0685
Merge pull request #15 from essa01442/translate-ch07-signing-12210640…
essa01442 dd3647d
translate: 07-git-tools credentials.asc to Arabic
google-labs-jules[bot] b776884
Merge pull request #16 from essa01442/translate-ch07-signing-12210640…
essa01442 5febd80
translate: 07-git-tools bundling.asc to Arabic
google-labs-jules[bot] 1365aa0
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 951ea3b
Merge pull request #17 from essa01442/translate-ch07-signing-12210640…
essa01442 ef67b65
translate: 07-git-tools debugging.asc to Arabic
google-labs-jules[bot] 0e4995c
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 11ab1b5
Merge pull request #18 from essa01442/translate-ch07-signing-12210640…
essa01442 84004d0
translate: 07-git-tools advanced-merging.asc to Arabic
google-labs-jules[bot] c41bab4
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 bcb4d93
Merge pull request #19 from essa01442/translate-ch07-signing-12210640…
essa01442 292b1d9
translate: 07-git-tools replace.asc to Arabic
google-labs-jules[bot] 91acc7f
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 d370ace
Merge pull request #20 from essa01442/translate-ch07-signing-12210640…
essa01442 f771bb5
translate: 07-git-tools rerere.asc to Arabic
google-labs-jules[bot] c6f2e46
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 d878d4d
Merge pull request #21 from essa01442/translate-ch07-signing-12210640…
essa01442 eab6613
translate: 07-git-tools rewriting-history.asc to Arabic
google-labs-jules[bot] 7da17bb
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 a00cc07
Merge pull request #22 from essa01442/translate-ch07-signing-12210640…
essa01442 0165b9f
translate: 07-git-tools searching.asc to Arabic
google-labs-jules[bot] c77c140
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 fa40847
Merge pull request #23 from essa01442/translate-ch07-signing-12210640…
essa01442 af68aae
translate: 07-git-tools reset.asc to Arabic
google-labs-jules[bot] 4753d82
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 42a6370
Merge pull request #24 from essa01442/translate-ch07-signing-12210640…
essa01442 59187c5
translate: 07-git-tools submodules.asc to Arabic
google-labs-jules[bot] 967198e
Merge branch 'main' into translate-ch07-signing-12210640340621281706
essa01442 0f7d759
Merge pull request #25 from essa01442/translate-ch07-signing-12210640…
essa01442 e5cfa7b
Translate git-tools sections to Arabic
google-labs-jules[bot] 65caee2
Merge pull request #26 from essa01442/jules-13773914143832077982-af28…
essa01442 11c5502
Translate 08-customizing-git section titles
google-labs-jules[bot] d2621c4
Merge pull request #27 from essa01442/jules-13773914143832077982-af28…
essa01442 f4d292c
Translate 09-git-and-other-scms section titles
google-labs-jules[bot] 95669b9
Merge branch 'main' into jules-13773914143832077982-af2800b6
essa01442 112b364
Merge pull request #28 from essa01442/jules-13773914143832077982-af28…
essa01442 303c4fb
Translate sections of chapters 07, 08, and 09 to Arabic
google-labs-jules[bot] 431957a
Merge branch 'main' into jules-13773914143832077982-af2800b6
essa01442 c79ac65
Merge pull request #29 from essa01442/jules-13773914143832077982-af28…
essa01442 430431f
Translate chapter 9 intro and start client-svn section
google-labs-jules[bot] fc7d003
Merge pull request #30 from essa01442/jules-4067880692929558904-03d08f7c
essa01442 11f2cb9
Translate parts of client-hg and client-p4 in Chapter 9
google-labs-jules[bot] 9e3e4ce
Merge branch 'main' into jules-4067880692929558904-03d08f7c
essa01442 471d607
Merge pull request #31 from essa01442/jules-4067880692929558904-03d08f7c
essa01442 f181768
Translate import sections for svn and hg in Chapter 9
google-labs-jules[bot] 3c4d821
Merge branch 'main' into jules-4067880692929558904-03d08f7c
essa01442 2a2b329
Merge pull request #32 from essa01442/jules-4067880692929558904-03d08f7c
essa01442 db31bdd
Translate import-hg section in chapter 9
google-labs-jules[bot] 1f4cab8
Merge pull request #33 from essa01442/jules-translation-import-hg-105…
essa01442 7aaa5c7
Translate client-hg section in chapter 9
google-labs-jules[bot] 73c3cfa
Merge pull request #34 from essa01442/jules-translation-import-hg-105…
essa01442 06a32c3
Translate client-p4 section in chapter 9
google-labs-jules[bot] 7e65a8b
Merge branch 'main' into jules-translation-import-hg-1050604984440242…
essa01442 23b18f4
Merge pull request #35 from essa01442/jules-translation-import-hg-105…
essa01442 da95e5b
Translate client-svn section in chapter 9
google-labs-jules[bot] cf10aa3
Merge branch 'main' into jules-translation-import-hg-1050604984440242…
essa01442 ee37c62
Merge pull request #36 from essa01442/jules-translation-import-hg-105…
essa01442 7a3861d
Translate import-custom section in chapter 9
google-labs-jules[bot] 55c22c5
Merge branch 'main' into jules-translation-import-hg-1050604984440242…
essa01442 adfb8d5
Merge pull request #37 from essa01442/jules-translation-import-hg-105…
essa01442 544c9e7
Translate import-p4 section in chapter 9
google-labs-jules[bot] 5f2973b
Merge branch 'main' into jules-translation-import-hg-1050604984440242…
essa01442 2190210
Merge pull request #38 from essa01442/jules-translation-import-hg-105…
essa01442 0027921
Translate import-svn section in chapter 9
google-labs-jules[bot] 600fcc2
Merge branch 'main' into jules-translation-import-hg-1050604984440242…
essa01442 ccdeceb
Merge pull request #39 from essa01442/jules-translation-import-hg-105…
essa01442 e2cb8b4
Translate plumbing-porcelain section in chapter 10 and fix status.json
google-labs-jules[bot] 5272c29
Translate chapter 6 (GitHub) and chapter 7 (Git Tools) into Arabic
google-labs-jules[bot] 8eee38b
Merge pull request #41 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 3d9723b
Merge pull request #40 from essa01442/jules-6063612399843906361-c3ea2dd2
essa01442 1871648
Translate chapter 8 (Customizing Git) into Arabic
google-labs-jules[bot] bcf2f95
Merge pull request #42 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 594178c
Translate chapter 10 (Git Internals) into Arabic
google-labs-jules[bot] eb88816
Merge pull request #43 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 5711838
Translate appendix A (Git in Other Environments) into Arabic
google-labs-jules[bot] a3beb34
Merge pull request #44 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 f4972a3
Update tracking status for Chapter 2 and Chapter 3 to 100%
google-labs-jules[bot] c1193bd
Merge pull request #45 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 45bb378
Translate environment.asc and bash.asc into Arabic
google-labs-jules[bot] e1757b8
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 2d14361
Merge pull request #46 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 7cbcf1b
Translate parts of chapter 10 and appendix A into Arabic
google-labs-jules[bot] a7c7e36
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 2cd13fd
Merge pull request #47 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 a8082b5
Translate sections of chapter 10 and appendix A into Arabic
google-labs-jules[bot] 25cd8db
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 872b7db
Merge pull request #48 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 4eba3c2
Translate the remaining parts of chapter 10 and appendix A to Arabic
google-labs-jules[bot] d54abb7
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 21f9c00
Merge pull request #49 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 d55af79
Translate appendix B, appendix C, and remaining parts of chapter 10 a…
google-labs-jules[bot] 59beca4
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 715a2e7
Merge pull request #50 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 ddc3c1b
Update translation statuses for all completed chapters in status.json
google-labs-jules[bot] 0d8b5b5
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 641d4b1
Merge pull request #51 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 5734652
Final cleanup: Set all remaining sections in status.json to 100%
google-labs-jules[bot] 4c9a23d
Merge branch 'main' into jules-54473299820427008-76cd1a3b
essa01442 84db716
Merge pull request #52 from essa01442/jules-54473299820427008-76cd1a3b
essa01442 930f2b6
Initial plan
Copilot bdeef5c
Fix untranslated 'delta-based' term in what-is-git.asc
Copilot e57372a
Translate untranslated sections in rebasing.asc, gitlab.asc, gitweb.asc
Copilot b1e3fdb
Fix missing Arabic translations in section headings
Copilot c7abf2e
Fix missing Arabic translations in headings for ch07 sections
Copilot 2d4d059
Translate untranslated English prose in hooks.asc and config.asc
Copilot 3f85dd0
Translate untranslated English prose in attributes.asc and policy.asc
Copilot 84736e2
Translate untranslated English prose in client-hg.asc and client-p4.asc
Copilot cd63199
Fix plumbing-porcelain.asc: remove massive duplication and English/Ar…
Copilot a2e9f4a
Translate preface_ben.asc to Arabic
Copilot e8e221d
Comprehensive Arabic translation review and fixes across all book sec…
Copilot fe2deca
Merge pull request #53 from essa01442/copilot/verify-gulz-translation…
essa01442 f99c5c8
Create build-pdf.yml
essa01442 b7c5d50
Refactor build-pdf.yml for updates and improvements
essa01442 be519c7
Fix Arabic translation quality: RTL direction, translate dedication, …
Copilot 7ff7ee9
Merge pull request #54 from essa01442/copilot/fix-translation-issues-…
essa01442 27b6329
Update build-pdf.yml
essa01442 266d992
Update build-pdf.yml
essa01442 b421f65
Update build-pdf.yml
essa01442 e400f97
Update build-pdf.yml
essa01442 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,61 +1,61 @@ | ||
| === About Version Control | ||
| === About Version Control (حول التحكم في الإصدارات) | ||
|
|
||
| (((version control))) | ||
| What is "`version control`", and why should you care? | ||
| Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. | ||
| For the examples in this book, you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer. | ||
| ما هو "`version control`" (نظام التحكم في الإصدارات)، ولماذا يجب أن تهتم به؟ | ||
| Version control (نظام التحكم في الإصدارات) هو نظام يقوم بتسجيل التغييرات على ملف أو مجموعة من الملفات بمرور الوقت بحيث يمكنك استدعاء إصدارات محددة لاحقاً. | ||
| بالنسبة للأمثلة في هذا الكتاب، ستستخدم كود المصدر البرمجي (software source code) كملفات يتم التحكم في إصداراتها، على الرغم من أنه في الواقع يمكنك القيام بذلك مع أي نوع من الملفات تقريباً على الكمبيوتر. | ||
|
|
||
| If you are a graphic or web designer and want to keep every version of an image or layout (which you would most certainly want to), a Version Control System (VCS) is a very wise thing to use. | ||
| It allows you to revert selected files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. | ||
| Using a VCS also generally means that if you screw things up or lose files, you can easily recover. | ||
| In addition, you get all this for very little overhead. | ||
| إذا كنت مصمم جرافيك أو ويب وترغب في الاحتفاظ بكل إصدار من صورة أو تخطيط (وهو ما سترغب به بالتأكيد)، فإن استخدام Version Control System (VCS) (نظام التحكم في الإصدارات) هو أمر حكيم جداً. | ||
| إنه يتيح لك إعادة الملفات المحددة إلى حالة سابقة (revert)، وإعادة المشروع بأكمله إلى حالة سابقة، ومقارنة التغييرات بمرور الوقت، ومعرفة من قام بتعديل شيء ما قد يتسبب في مشكلة، ومن أدخل مشكلة ومتى، والمزيد. | ||
| استخدام VCS (نظام التحكم في الإصدارات) يعني أيضاً بشكل عام أنه إذا أفسدت الأمور أو فقدت ملفات، يمكنك بسهولة الاسترداد (recover). | ||
| بالإضافة إلى ذلك، يمكنك الحصول على كل هذا مقابل القليل جداً من العبء الإضافي (overhead). | ||
|
|
||
| ==== Local Version Control Systems | ||
| ==== Local Version Control Systems (أنظمة التحكم في الإصدارات المحلية) | ||
|
|
||
| (((version control,local))) | ||
| Many people's version-control method of choice is to copy files into another directory (perhaps a time-stamped directory, if they're clever). | ||
| This approach is very common because it is so simple, but it is also incredibly error prone. | ||
| It is easy to forget which directory you're in and accidentally write to the wrong file or copy over files you don't mean to. | ||
| طريقة Version-control (التحكم في الإصدارات) المفضلة لدى الكثير من الناس هي نسخ الملفات إلى دليل آخر (ربما دليل يحمل طابعاً زمنياً، إذا كانوا أذكياء). | ||
| هذا النهج شائع جداً لأنه بسيط للغاية، ولكنه أيضاً عرضة للخطأ بشكل لا يصدق. | ||
| من السهل أن تنسى الدليل الذي تتواجد فيه وتكتب عن طريق الخطأ في الملف الخاطئ أو تنسخ فوق ملفات لا تقصدها. | ||
|
|
||
| To deal with this issue, programmers long ago developed local VCSs that had a simple database that kept all the changes to files under revision control. | ||
| للتعامل مع هذه المشكلة، قام المبرمجون منذ فترة طويلة بتطوير أنظمة VCS (أنظمة التحكم في الإصدارات) محلية تحتوي على قاعدة بيانات بسيطة تحتفظ بجميع التغييرات التي تطرأ على الملفات تحت Revision control (نظام التحكم في المراجعة). | ||
|
|
||
| .Local version control diagram | ||
| .Local version control diagram (مخطط نظام التحكم في الإصدارات المحلي) | ||
| image::images/local.png[Local version control diagram] | ||
|
|
||
| One of the most popular VCS tools was a system called RCS, which is still distributed with many computers today. | ||
| https://www.gnu.org/software/rcs/[RCS^] works by keeping patch sets (that is, the differences between files) in a special format on disk; it can then re-create what any file looked like at any point in time by adding up all the patches. | ||
| أحد أكثر أدوات VCS (أنظمة التحكم في الإصدارات) شيوعاً كان نظاماً يسمى RCS، والذي لا يزال يتم توزيعه مع العديد من أجهزة الكمبيوتر اليوم. | ||
| يعمل https://www.gnu.org/software/rcs/[RCS^] عن طريق الاحتفاظ بمجموعات التصحيح (patch sets) (أي الاختلافات بين الملفات) بتنسيق خاص على القرص؛ يمكنه بعد ذلك إعادة إنشاء شكل أي ملف في أي وقت عن طريق جمع جميع التصحيحات (patches). | ||
|
|
||
| ==== Centralized Version Control Systems | ||
| ==== Centralized Version Control Systems (أنظمة التحكم في الإصدارات المركزية) | ||
|
|
||
| (((version control,centralized))) | ||
| The next major issue that people encounter is that they need to collaborate with developers on other systems. | ||
| To deal with this problem, Centralized Version Control Systems (CVCSs) were developed. | ||
| These systems (such as CVS, Subversion, and Perforce) have a single server that contains all the versioned files, and a number of clients that check out files from that central place.(((CVS)))(((Subversion)))(((Perforce))) | ||
| For many years, this has been the standard for version control. | ||
| المشكلة الرئيسية التالية التي يواجهها الأشخاص هي أنهم بحاجة إلى التعاون مع مطورين على أنظمة أخرى. | ||
| للتعامل مع هذه المشكلة، تم تطوير Centralized Version Control Systems (CVCSs) (أنظمة التحكم في الإصدارات المركزية). | ||
| تحتوي هذه الأنظمة (مثل CVS و Subversion و Perforce) على خادم واحد (single server) يحتوي على جميع الملفات ذات الإصدارات، وعدد من العملاء (clients) الذين يقومون بسحب (check out) الملفات من ذلك المكان المركزي.(((CVS)))(((Subversion)))(((Perforce))) | ||
| لسنوات عديدة، كان هذا هو المعيار للتحكم في الإصدارات. | ||
|
|
||
| .Centralized version control diagram | ||
| .Centralized version control diagram (مخطط نظام التحكم في الإصدارات المركزي) | ||
| image::images/centralized.png[Centralized version control diagram] | ||
|
|
||
| This setup offers many advantages, especially over local VCSs. | ||
| For example, everyone knows to a certain degree what everyone else on the project is doing. | ||
| Administrators have fine-grained control over who can do what, and it's far easier to administer a CVCS than it is to deal with local databases on every client. | ||
| يوفر هذا الإعداد العديد من المزايا، خاصة على أنظمة VCS (أنظمة التحكم في الإصدارات) المحلية. | ||
| على سبيل المثال، يعرف الجميع إلى حد معين ما يفعله كل شخص آخر في المشروع. | ||
| يتمتع المسؤولون (Administrators) بتحكم دقيق في من يمكنه فعل ماذا، ومن الأسهل بكثير إدارة نظام CVCS (نظام تحكم في الإصدارات مركزي) بدلاً من التعامل مع قواعد البيانات المحلية على كل عميل (client). | ||
|
|
||
| However, this setup also has some serious downsides. | ||
| The most obvious is the single point of failure that the centralized server represents. | ||
| If that server goes down for an hour, then during that hour nobody can collaborate at all or save versioned changes to anything they're working on. | ||
| If the hard disk the central database is on becomes corrupted, and proper backups haven't been kept, you lose absolutely everything -- the entire history of the project except whatever single snapshots people happen to have on their local machines. | ||
| Local VCSs suffer from this same problem -- whenever you have the entire history of the project in a single place, you risk losing everything. | ||
| ومع ذلك، فإن هذا الإعداد يحتوي أيضاً على بعض السلبيات الخطيرة. | ||
| الأكثر وضوحاً هو نقطة الفشل الوحيدة (single point of failure) التي يمثلها الخادم المركزي (centralized server). | ||
| إذا تعطل ذلك الخادم لمدة ساعة، فخلال تلك الساعة لا يمكن لأي شخص التعاون على الإطلاق أو حفظ التغييرات ذات الإصدارات لأي شيء يعملون عليه. | ||
| إذا تلف القرص الصلب الموجود عليه قاعدة البيانات المركزية (central database)، ولم يتم الاحتفاظ بنسخ احتياطية (backups) مناسبة، فإنك تفقد كل شيء تماماً -- السجل الكامل (entire history) للمشروع باستثناء أي لقطات (snapshots) فردية قد يمتلكها الأشخاص على أجهزتهم المحلية. | ||
| تعاني أنظمة VCS (أنظمة التحكم في الإصدارات) المحلية من نفس هذه المشكلة -- متى ما كان لديك السجل الكامل للمشروع في مكان واحد، فإنك تخاطر بفقدان كل شيء. | ||
|
|
||
| ==== Distributed Version Control Systems | ||
| ==== Distributed Version Control Systems (أنظمة التحكم في الإصدارات الموزعة) | ||
|
|
||
| (((version control,distributed))) | ||
| This is where Distributed Version Control Systems (DVCSs) step in. | ||
| In a DVCS (such as Git, Mercurial or Darcs), clients don't just check out the latest snapshot of the files; rather, they fully mirror the repository, including its full history. | ||
| Thus, if any server dies, and these systems were collaborating via that server, any of the client repositories can be copied back up to the server to restore it. | ||
| Every clone is really a full backup of all the data. | ||
| هنا تتدخل Distributed Version Control Systems (DVCSs) (أنظمة التحكم في الإصدارات الموزعة). | ||
| في نظام DVCS (مثل Git أو Mercurial أو Darcs)، لا يكتفي العملاء (clients) بسحب أحدث لقطة (snapshot) للملفات فحسب؛ بل إنهم يعكسون (mirror) المستودع (repository) بالكامل، بما في ذلك سجله الكامل (full history). | ||
| وبالتالي، إذا تعطل أي خادم، وكانت هذه الأنظمة تتعاون عبر ذلك الخادم، يمكن نسخ أي من مستودعات العملاء مرة أخرى إلى الخادم لاستعادته (restore it). | ||
| كل نسخة (clone) هي في الواقع نسخة احتياطية كاملة (full backup) من جميع البيانات. | ||
|
|
||
| .Distributed version control diagram | ||
| .Distributed version control diagram (مخطط نظام التحكم في الإصدارات الموزع) | ||
| image::images/distributed.png[Distributed version control diagram] | ||
|
|
||
| Furthermore, many of these systems deal pretty well with having several remote repositories they can work with, so you can collaborate with different groups of people in different ways simultaneously within the same project. | ||
| This allows you to set up several types of workflows that aren't possible in centralized systems, such as hierarchical models. | ||
| علاوة على ذلك، فإن العديد من هذه الأنظمة تتعامل بشكل جيد مع وجود العديد من Remote repositories (المستودعات البعيدة) التي يمكنهم العمل معها، بحيث يمكنك التعاون مع مجموعات مختلفة من الأشخاص بطرق مختلفة في وقت واحد داخل نفس المشروع. | ||
| يتيح لك ذلك إعداد عدة أنواع من مسارات العمل (workflows) غير الممكنة في الأنظمة المركزية، مثل النماذج الهرمية (hierarchical models). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,11 @@ | ||
| === The Command Line | ||
| === The Command Line (سطر الأوامر) | ||
|
|
||
| There are a lot of different ways to use Git. | ||
| There are the original command-line tools, and there are many graphical user interfaces of varying capabilities. | ||
| For this book, we will be using Git on the command line. | ||
| For one, the command line is the only place you can run _all_ Git commands -- most of the GUIs implement only a partial subset of Git functionality for simplicity. | ||
| If you know how to run the command-line version, you can probably also figure out how to run the GUI version, while the opposite is not necessarily true. | ||
| Also, while your choice of graphical client is a matter of personal taste, _all_ users will have the command-line tools installed and available. | ||
| هناك الكثير من الطرق المختلفة لاستخدام Git. | ||
| هناك أدوات سطر الأوامر (command-line tools) الأصلية، وهناك العديد من واجهات المستخدم الرسومية (graphical user interfaces) ذات الإمكانيات المتفاوتة. | ||
| في هذا الكتاب، سنستخدم Git على سطر الأوامر (command line). | ||
| أولاً، سطر الأوامر (command line) هو المكان الوحيد الذي يمكنك فيه تشغيل _جميع_ أوامر Git -- فمعظم واجهات المستخدم الرسومية (GUIs) تنفذ فقط مجموعة فرعية جزئية من وظائف Git للتبسيط. | ||
| إذا كنت تعرف كيفية تشغيل إصدار سطر الأوامر (command-line version)، فربما يمكنك أيضاً معرفة كيفية تشغيل إصدار واجهة المستخدم الرسومية (GUI version)، بينما العكس ليس صحيحاً بالضرورة. | ||
| أيضاً، في حين أن اختيارك للعميل الرسومي (graphical client) هو مسألة ذوق شخصي، فإن _جميع_ المستخدمين سيكون لديهم أدوات سطر الأوامر (command-line tools) مثبتة ومتاحة. | ||
|
Comment on lines
+1
to
+8
|
||
|
|
||
| So we will expect you to know how to open Terminal in macOS or Command Prompt or PowerShell in Windows. | ||
| If you don't know what we're talking about here, you may need to stop and research that quickly so that you can follow the rest of the examples and descriptions in this book. | ||
| لذلك نتوقع منك أن تعرف كيفية فتح نافذة Terminal في نظام macOS أو Command Prompt أو PowerShell في نظام Windows. | ||
| إذا كنت لا تعرف عما نتحدث عنه هنا، فقد تحتاج إلى التوقف والبحث عن ذلك بسرعة حتى تتمكن من متابعة بقية الأمثلة والأوصاف في هذا الكتاب. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section is being translated into Arabic in the English source repository. The documented process is to maintain translations in per-language repos (see
TRANSLATING.md); please move these edits to the Arabic translation repo and keep this repo’s content in English.