You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
این اثر تحت لایسنس Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported لایسنس شده است.
2
-
برای مشاهده یک کپی از این لایسنس به https://creativecommons.org/licenses/by-nc-sa/3.0 مراجعه کنید یا به Creative Commons در PO Box 1866، Mountain View، CA 94042، USA نامه بزنید.
1
+
این اثر تحت مجوز Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported لایسنس شده است.
2
+
برای مشاهده یک کپی از این مجوز به https://creativecommons.org/licenses/by-nc-sa/3.0 مراجعه کنید یا به Creative Commons در PO Box 1866، Mountain View، CA 94042، USA نامه بزنید.
Copy file name to clipboardExpand all lines: README.asc
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
= پروگیت، ویرایش دوم
1
+
= پرو گیت، ویرایش دوم
2
2
3
-
به ویرایش دوم کتاب پروگیت خوش آمدید.
3
+
به ویرایش دوم کتاب پرو گیت خوش آمدید.
4
4
5
5
نسخه آنلاین این کتاب را اینجا ببینید. http://git-scm.com/book/fa/v2
6
6
7
-
همانند ویرایش اول، ویرایش دوم پروگیت هم متن-باز تحت لایسنس «کریتیو کامنز» است. (Creative Commons)
7
+
همانند ویرایش اول، ویرایش دوم پرو گیت هم متن-باز تحت لایسنس «کریتیو کامنز» است. (Creative Commons)
8
8
9
9
از زمان متن-باز شدن نسخه اول تغییراتی اعمال شده.
10
10
ابتدا اینکه برای متن کتاب، ما از مارکدان به قالب شگفتانگیز اسکیداک مهاجرت کردهایم. رفرنس سریع اسکیداک را میتوانید در https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[اینجا] پیدا کنید.
@@ -42,6 +42,8 @@ Converting to PDF...
42
42
در بعضی سیستمها ممکن است خروجی پیدیاف خوانا نباشد و یا مشکلات قالبی (راستچین بودن) و... داشته باشد.
43
43
پیشنهاد میشود که اسکیداکتر را بازتنظیم کنید و از فونتسازگار استفاده کنید.
44
44
45
+
خروجی پیشنهادی پرو گیت فارسی اچتیامال است.
46
+
45
47
با توجه به دشواری بازتنظیمی اسکیداکتر ممکن است بخواهید از خروجی اچتیامال استفاده کرده یا در صورت نیاز به پیدیاف، خروجی اچتیامال را توسط ابزاری مانند مرورگر به پیدیاف تبدیل کنید.
Copy file name to clipboardExpand all lines: TRANSLATION_NOTES.asc
+73-45Lines changed: 73 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,9 @@
5
5
6
6
بهخاطر داشته باشید که به عنوان یک مترجم میتوانید اختیار کرده و فایل ریدمی را ویرایش کنید تا موارد خاص مرتبط با ترجمه شما را نیز شامل شود.
7
7
8
+
خارج از اختیارات ذکر شده، به متن و محتوای کتاب وفادار بمانید. این یک فورک ترجمه است. اگر احساس میکنید که مطلبی در کتاب به درستی بیان نشده است یا میتواند تغییر کند،
9
+
تغییر خود را به متن اصلی (انگلیسی) کتاب ارائه کنید. این فورک سعی میکند همیشه با متن اصلی هماهنگ و بروز بماند، اگر تغییر شما در منبع اصلی کتاب تأیید شد به اینجا نیز راه خواهد یافت.
10
+
8
11
=== وضعیت ترجمه
9
12
10
13
* همچنان که متن ترجمه میشود، لطفاً فایل جیسان استاتوس را بروزرسانی کنید تا درصد احتمالی اینکه هر فایل به چه مقدار ترجمه شده است قابل تخمین باشد.
@@ -15,10 +18,14 @@
15
18
16
19
=== استاندارد نگارشی
17
20
21
+
* هدرها و تیترها حدالامکان فارسی باشند.
22
+
18
23
* تلاش بر آن باشد که هرگز خطی از ۲۰۰ حرف تجاوز نکند.
19
24
20
25
* جهت جلوگیری از بهم ریختگی در گیت کلاینتها، کامیت مسیجها به انگلیسی نوشته شوند.
21
26
27
+
* گاهی لازم است تا استاندارد جهت نمایش درست در خروجی شکسته شود و یکپارچگی بهم بریزد (مثلاً ترجمه متناسب با جدول کلمات نباشد). در این شرایط اولویت با خروجی (بخصوص اچتیامال) است.
28
+
22
29
* در نوشتن اعداد درون متنی اولویت با ارقام است. (به جای «هزار و یک» ۱۰۰۱ نوشته شود.)
23
30
24
31
* اعداد به خطالرسم فارسی (۱۲۳۴۵۶۷۸۹۰) نوشته شوند. مگر آنکه یک لیست ترتیبی باشند. به علت لاتین-پایه بودن اسکیداکتر نیاز است که لیستهای ترتیبی یا شمارشی
@@ -58,57 +65,78 @@
58
65
.لیست واژگان
59
66
|===
60
67
|واژه یا عبارت |معادل احتمالی انگلیسی
61
-
62
-
63
-
|??? |Fast-Forward
64
-
|کنترل نسخه |Version Control
65
-
|سابورژن |Subversion
66
-
|چکاوت |Checkout
67
-
|جستوجو |Search
68
-
|پیشفرض |Default
69
-
|وبسایت |Website
70
-
|گیتهاب |GitHub
71
-
|دبیان |Debian
72
-
|وابستگی |Dependency
68
+
|ASCII |ASCII
69
+
|Fast-Forward |Fast-Forward
70
+
|HTTP غیرهوشمند |Dumb HTTP
71
+
|HTTP هوشمند |Smart HTTP
72
+
|آبجکت |Object
73
+
|آپشن |Option (e.g:--global)
74
+
|آینه |Mirror
75
+
|ادمین |Administrator
76
+
|انتقال به برنچ |Switch to a/the branch
77
+
|ایشو |Issue
78
+
|باقدمت |Long-term
79
+
|بالادست |Upstream
80
+
|برنچ |Branch
81
+
|برنچ پیگیر |Tracking Branch
82
+
|برچسب توضیحی |Annotated tag
83
+
|برچسب سبک |Lightweight tag
73
84
|بسته |Package
85
+
|بلاب |Blob
74
86
|تاربال |Tarball
75
-
|آینه |Mirror
76
-
|کامپایل |Compile
77
-
|کامپیوتر |Computer
78
-
|آپشن |Option (e.g:--global)
79
-
|کلید |Flag/Switch (e.g:--global)
80
-
|گزینه |Option
81
-
|پیکربندی |Configuration
87
+
|تعویض برنچ |Branch switching
88
+
|جستوجو |Search
89
+
|خلاصه |Summary
90
+
|خودمیزبان |Self-hosting
91
+
|دبیان |Debian
92
+
|درپی-ریموت |Remote-Tracking
82
93
|دستور گیت کانفیگ |git config Command
83
-
|ادمین |Administrator
94
+
|دستگاه/سیستم |Machine
95
+
|دوشاخه |Divergent
96
+
|دیمن |Daemon
97
+
|دیمنیزه |Daemonize
98
+
|ررره |Rerere
99
+
|رهگیریشده |Tracked
100
+
|رهگیریشده |Tracked
101
+
|رهگیرینشده |Untracked
102
+
|رهگیرینشده |Untracked
103
+
|روت |Root
104
+
|ریبیس |Rebase
105
+
|ریورت |Revert
106
+
|سابورژن |Subversion
84
107
|سوپریوزر |Superuser
85
-
|ویرایشگر |Text Editor
86
-
|نوتپد++ |Notepad++
87
-
|ویم |Vim
88
-
|صفحهٔ راهنما |manpage
89
-
|برنچ |Branch
90
108
|شاخهسازی |Branching
91
-
|مرج |Merge
109
+
|شورتلاگ |Shortlog
110
+
|صفحهٔ راهنما |manpage
111
+
|قالب |Format
112
+
|لیست کردن |List
113
+
|متادیتا |Metadata
92
114
|محلی |Local
115
+
|مخزن بر |Bare repository
116
+
|مدیر-یکپارچهسازی |Integration-Manager
117
+
|مرج |Merge
118
+
|مرجع ریموت |Remote refrence
119
+
|نامهای مستعار |Aliases
120
+
|نشان بده |Show
93
121
|نشانگر |Pointer
94
-
|آبجکت |Object
122
+
|نمایش بده |Display
123
+
|نوتپد++ |Notepad++
124
+
|هارددیسک |Hard drive/disk
125
+
|هندلر |Handler
126
+
|وابستگی |Dependency
95
127
|والد |Parent
96
-
|بلاب |Blob
97
-
|روت |Root
98
-
|متادیتا |Metadata
99
-
|انتقال به برنچ |Switch to a/the branch
100
-
|تعویض برنچ |Branch switching
101
-
|ریورت |Revert
102
-
|ایشو |Issue
103
-
|درپی-ریموت |Remote-Tracking
104
-
|مرجع ریموت |Remote refrence
105
-
|بالادست |Upstream
106
-
|برنچ پیگیر |Tracking Branch
107
-
|ریبیس |Rebase
108
-
|دوشاخه |Divergent
109
-
|مدیر-یکپارچهسازی|Integration-Manager
110
-
|باقدمت|Long-term
111
-
|چری-پیک (در مواردی که نیاز به ترجمه مفهومی فارسی است «دستچینی»)|Cherry-pick
112
-
|ررره|Rerere
113
-
|شورتلاگ|Shortlog
128
+
|وبسایت |Website
129
+
|ویرایشگر |Text Editor
130
+
|ویم |Vim
131
+
|پیشفرض |Default
132
+
|پیکربندی |Configuration
133
+
|چری-پیک (در مواردی که نیاز به ترجمه مفهومی فارسی است «دستچینی») |Cherry-pick
Copy file name to clipboardExpand all lines: book/01-introduction/sections/about-version-control.asc
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,21 +3,21 @@
3
3
(((version control)))
4
4
«کنترل نسخه» چیست و چرا باید بدان پرداخت؟ کنترل نسخه سیستمی است که تغییرات را در فایل یا دستهای از
5
5
فایلها ذخیره میکند و به شما این امکان را میدهد که در آینده به نسخه و نگارش خاصی برگردید.
6
-
برای مثالهای این کتاب شما از سورس کد نرمافزار به عنوان فایلهایی که نسخه آنها کنترل میشود استفاده میکنید.
6
+
برای مثالهای این کتاب، شما از سورس کد نرمافزار به عنوان فایلهایی که نسخه آنها کنترل میشود استفاده میکنید.
7
7
اگرچه در واقع میتوانید تقریباً از هر فایلی استفاده کنید.
8
8
9
9
اگر شما یک گرافیست یا طراح وب هستید و میخواهید نسخههای متفاوت از عکسها و قالبهای خود داشته باشید (که احتمالاً میخواهید)، یک سیستم کنترل نسخه (Version Control System (VCS)) انتخاب خردمندانهای است.
10
-
یک VCS به شما این امکان را میدهد که فایلهای انتخابی یا کل پروژه را به یک حالت قبلی خاص برگردانید، روند تغییرات را بررسی کنید، ببینید چه کسی آخرینبار تغییری ایجاد کرده که احتمالاً مشکل آفرین شده،
10
+
یک VCS به شما این امکان را میدهد که فایلهای انتخابی یا کل پروژه را به یک حالت قبلی خاص برگردانید، روند تغییرات را بررسی کنید، ببینید چه کسی آخرین بار تغییری ایجاد کرده که احتمالاً مشکل آفرین شده،
11
11
چه کسی، چه وقت مشکلی را اعلام کرده و...
12
-
استفاده از یک VCS همچنین به این معناست که اگر شما در حین کار چیزی را خراب کردید و یا فایلهایی از دست رفت، به سادگی می توانید کارهای انجام شده را بازیابی نمایید.
12
+
استفاده از یک VCS همچنین به این معناست که اگر شما در حین کار چیزی را خراب کردید و یا فایلهایی از دست رفت، به سادگی میتوانید کارهای انجام شده را بازیابی نمایید.
13
13
همچنین مقداری سربار به فایلهای پروژهتان افزوده میشود.
14
14
15
15
==== سیستمهای کنترل نسخهٔ محلی
16
16
17
17
(((version control,local)))
18
18
روش اصلی کنترل نسخهٔ کثیری از افراد کپی کردن فایلها به پوشهای دیگر است (احتمالاً با تاریخگذاری، اگر خیلی باهوش باشند).
19
19
این رویکرد به علت سادگی بسیار رایج است هرچند خطا آفرینی بالایی دارد.
20
-
فراموش کردن اینکه در کدام پوشه بودهاید و نوشتن اشتباهی روی فایل یا فایلهایی که نمیخواستید روی آن بنویسید بسیار ساده است.
20
+
فراموش کردن اینکه در کدام پوشه بودهاید و نوشتن اشتباهی روی فایل یا فایلهایی که نمیخواستید روی آن بنویسید بسیار آسان است.
21
21
22
22
برای حل این مشکل، سالها قبل VCSهای محلی را توسعه دادند که پایگاه دادهای ساده داشت که تمام تغییرات فایلهای تحت مراقبتش را نگهداری میکرد.
23
23
@@ -28,36 +28,35 @@ image::images/local.png[Local version control diagram]
28
28
https://www.gnu.org/software/rcs/[RCS] با نگه داشتن مجموعههایی از پچها (Patch/وصله) -- همان تفاوتهای بین نگارشهای گوناگون فایلها -- در قالبی ویژه کار میکند؛
29
29
پس از این، با اعمال پچها میتواند هر نسخهای از فایل که مربوط به هر زمان دلخواه است را بازسازی کند.
30
30
31
-
==== سیستمهای کنترل نسخه ی متمرکز
31
+
==== سیستمهای کنترل نسخهٔ متمرکز
32
32
33
33
(((version control,centralized)))
34
-
چالش بزرگ دیگری که مردم با آن روبرو می شوند نیاز به همکاری با توسعهدهندگانی است که با سیستمهای دیگر کار میکنند.
34
+
چالش بزرگ دیگری که مردم با آن روبرو میشوند نیاز به همکاری با توسعهدهندگانی است که با سیستمهای دیگر کار میکنند.
35
35
دربرخورد با این چالش سیستمهای کنترل نسخه متمرکز (Centralized Version Control System (CVCS)) ایجاد شدند.
36
-
این قبیل سیستمها (چون CVS، سابورژن و Preforce) یک سرور دارند که تمام فایلهای نسخهبندی شده را در بر دارد و تعدادی کلاینت (Client/خدمتگیرنده)
36
+
این قبیل سیستمها (مثل CVS، سابورژن و Preforce) یک سرور دارند که تمام فایلهای نسخهبندی شده را در بر دارد و تعدادی کلاینت (Client/خدمتگیرنده)
37
37
که فایلهایی را از آن سرور چکاوت (Checkout/وارسی) میکنند. (((CVS)))(((Subversion)))(((Perforce))) سالهای سال این روش استاندارد کنترل نسخه بوده است.
38
38
39
39
.کنترل نسخه متمرکز.
40
40
image::images/centralized.png[Centralized version control diagram]
41
41
42
42
43
43
این ساماندهی به ویژه برای VCSهای محلی منافع و مزایای بسیاری دارد. به طور مثال هر کسی به میزان مشخصی از فعالیتهای دیگران روی پروژه آگاهی دارد.
44
-
مدیریان دسترسی و کنترل مناسبی بر این دارند که چه کسی چه کاری می تواند انجام دهد؛
44
+
مدیران دسترسی و کنترل مناسبی بر این دارند که چه کسی چه کاری میتواند انجام دهد؛
45
45
همچنین مدیریت یک CVCS خیلی آسانتر از درگیری با پایگاهدادههای محلی روی تک تک کلاینتهاست.
46
46
47
-
هرچند که این گونه ساماندهی معایب جدی نیز دارد. واضحترین آن رخدادن خطا در سروری که نسخهها در آن متمرکز شده است.
48
-
اگر که سرور برای یک ساعت غیرفعال باشد، در طول این یک ساعت هیچکس نمی تواند همکاری یا تغییراتی که انجام داده است را ذخیره نماید.
47
+
هرچند که این گونه ساماندهی معایب جدی نیز دارد. واضحترین آن رخدادن خطا در سروری که نسخهها در آن متمرکز شدهاند است.
48
+
اگر که سرور برای یک ساعت غیرفعال باشد، در طول این یک ساعت هیچکس نمیتواند همکاری یا تغییراتی که انجام داده است را ذخیره نماید.
49
49
اگر هارددیسک سرور مرکزی دچار مشکلی شود و پشتیبان مناسبی هم تهیه نشده باشد
50
50
همه چیز (تاریخچه کامل پروژه بجز اسنپشاتهایی که یک کلاینت ممکن است روی کامپیوتر خود ذخیره کرده باشد) از دست خواهد رفت.
51
-
VCSهای محلی نیز همگی این مشکل را دارند -- هرگاه کل تاریخچه پروژه را در یک مکان واحد ذخیره کنید، خطر از دستدادن همه چیز را به جان میخرید.
51
+
VCSهای محلی نیز همگی این مشکل را دارند -- هرگاه کل تاریخچه پروژه را در یک مکان واحد ذخیره کنید، خطر از دست دادن همه چیز را به جان میخرید.
52
52
53
53
==== سیستمهای کنترل نسخه توزیعشده
54
54
55
55
(((version control,distributed)))
56
-
57
56
اینجا است که سیستمهای کنترل نسخه توزیعشده (Distributed Version Control System (DVCS)) نمود پیدا میکنند.
58
57
در یک DVCS (مانند گیت، Mercurial، Bazaar یا Darcs) کلاینتها صرفاً به چکاوت کردن آخرین اسنپشات فایلها اکتفا نمیکنند؛
59
-
بلکه آنها کل مخزن (Repository) را کپی عینی یا آینه (Mirror) میکنند که شامل تاریخچه کاملش هم میشود.
60
-
بنابراین اگر هر سروری که سیستمها به واسطه آن در حال تعامل با یکدیگر هستند متوقف و از کار بیافتد، با کپی مخرن هر کدام از کاربران بر روی سرور، میتوان آن را بازیابی کرد.
58
+
بلکه آنها کل مخزن (Repository) را کپی عینی یا آینه (Mirror) میکنند که شامل تاریخچه کامل آن هم میشود.
59
+
بنابراین اگر هر سروری که سیستمها به واسطه آن در حال تعامل با یکدیگر هستند متوقف شده و از کار بیافتد، با کپی مخرن هر کدام از کاربران بر روی سرور، میتوان آن را بازیابی کرد.
61
60
در واقع هر کلون، پشتیبان کاملی از تمامی دادهها است.
0 commit comments