<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://wiki.elinakaravi.ir/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elina</id>
	<title>Elina - مشارکت‌های کاربر [fa]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.elinakaravi.ir/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elina"/>
	<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=%D9%88%DB%8C%DA%98%D9%87:%D9%85%D8%B4%D8%A7%D8%B1%DA%A9%D8%AA%E2%80%8C%D9%87%D8%A7/Elina"/>
	<updated>2026-10-30T11:30:24Z</updated>
	<subtitle>مشارکت‌های کاربر</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=Wordpress&amp;diff=7</id>
		<title>Wordpress</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=Wordpress&amp;diff=7"/>
		<updated>2026-09-06T08:32:13Z</updated>

		<summary type="html">&lt;p&gt;Elina: صفحه‌ای تازه حاوی «== وردپرس (WordPress) == === WordPress چیست؟ === &amp;#039;&amp;#039;&amp;#039;WordPress&amp;#039;&amp;#039;&amp;#039; یک سیستم مدیریت محتوا (CMS) است که برای ساخت و مدیریت وب‌سایت استفاده می‌شود.  وردپرس در ابتدا بیشتر برای ساخت وبلاگ استفاده می‌شد، اما امروزه می‌توان با استفاده از آن انواع مختلف وب‌سایت‌ها را ایجاد...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== وردپرس (WordPress) ==&lt;br /&gt;
=== WordPress چیست؟ ===&lt;br /&gt;
&#039;&#039;&#039;WordPress&#039;&#039;&#039; یک سیستم مدیریت محتوا (CMS) است که برای ساخت و مدیریت وب‌سایت استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
وردپرس در ابتدا بیشتر برای ساخت وبلاگ استفاده می‌شد، اما امروزه می‌توان با استفاده از آن انواع مختلف وب‌سایت‌ها را ایجاد کرد؛ از وبلاگ و سایت شخصی گرفته تا فروشگاه اینترنتی، سایت شرکتی، مجله، سایت آموزشی و بسیاری موارد دیگر.&lt;br /&gt;
&lt;br /&gt;
وردپرس بر پایه زبان &#039;&#039;&#039;PHP&#039;&#039;&#039; ساخته شده و معمولاً از پایگاه داده &#039;&#039;&#039;MySQL&#039;&#039;&#039; یا سیستم‌های سازگار با آن استفاده می‌کند.&lt;br /&gt;
&lt;br /&gt;
== WordPress چه کاربردی دارد؟ ==&lt;br /&gt;
با وردپرس می‌توان انواع مختلف سایت‌ها را ایجاد کرد، از جمله:&lt;br /&gt;
* سایت شخصی&lt;br /&gt;
* وبلاگ&lt;br /&gt;
* سایت شرکتی&lt;br /&gt;
* سایت خبری و مجله‌ای&lt;br /&gt;
* فروشگاه اینترنتی&lt;br /&gt;
* سایت آموزشی&lt;br /&gt;
* سایت نمونه‌کار&lt;br /&gt;
* سایت عضویت&lt;br /&gt;
* سایت چندزبانه&lt;br /&gt;
* سایت معرفی محصولات و خدمات&lt;br /&gt;
&lt;br /&gt;
یکی از مزیت‌های مهم WordPress این است که برای بسیاری از قابلیت‌ها نیازی نیست همه چیز از ابتدا با کدنویسی ساخته شود.&lt;br /&gt;
&lt;br /&gt;
== WordPress.com و WordPress.org ==&lt;br /&gt;
یکی از نکات مهم در شروع کار با WordPress، تفاوت بین &#039;&#039;&#039;WordPress.com&#039;&#039;&#039; و &#039;&#039;&#039;WordPress.org&#039;&#039;&#039; است.&lt;br /&gt;
&lt;br /&gt;
=== WordPress.org ===&lt;br /&gt;
در WordPress.org نرم‌افزار WordPress را دریافت کرده و آن را روی هاست خود نصب می‌کنیم.&lt;br /&gt;
&lt;br /&gt;
در این حالت کنترل بیشتری روی سایت داریم و می‌توانیم قالب‌ها، افزونه‌ها و کدهای سایت را مدیریت کنیم.&lt;br /&gt;
&lt;br /&gt;
=== WordPress.com ===&lt;br /&gt;
WordPress.com یک سرویس میزبانی‌شده است که امکان ساخت سایت را بدون مدیریت مستقیم سرور فراهم می‌کند.&lt;br /&gt;
&lt;br /&gt;
بنابراین این دو را نباید با یکدیگر اشتباه گرفت.&lt;br /&gt;
&lt;br /&gt;
== اجزای اصلی WordPress ==&lt;br /&gt;
یک سایت WordPress معمولاً از بخش‌های مختلفی تشکیل شده است.&lt;br /&gt;
&lt;br /&gt;
=== Theme ===&lt;br /&gt;
&#039;&#039;&#039;Theme&#039;&#039;&#039; یا قالب، ظاهر و نحوه نمایش سایت را مشخص می‌کند.&lt;br /&gt;
&lt;br /&gt;
قالب می‌تواند مواردی مانند:&lt;br /&gt;
* رنگ‌بندی&lt;br /&gt;
* فونت&lt;br /&gt;
* ساختار صفحات&lt;br /&gt;
* Header&lt;br /&gt;
* Footer&lt;br /&gt;
* منوها&lt;br /&gt;
* طراحی صفحات&lt;br /&gt;
* نحوه نمایش نوشته‌ها&lt;br /&gt;
&lt;br /&gt;
را کنترل کند.&lt;br /&gt;
&lt;br /&gt;
=== Plugin ===&lt;br /&gt;
&#039;&#039;&#039;Plugin&#039;&#039;&#039; یا افزونه، قابلیت‌های جدیدی به WordPress اضافه می‌کند.&lt;br /&gt;
&lt;br /&gt;
برای مثال یک افزونه می‌تواند قابلیت‌هایی مانند:&lt;br /&gt;
* فروشگاه اینترنتی&lt;br /&gt;
* فرم تماس&lt;br /&gt;
* SEO&lt;br /&gt;
* امنیت&lt;br /&gt;
* پشتیبان‌گیری&lt;br /&gt;
* کش&lt;br /&gt;
* عضویت کاربران&lt;br /&gt;
&lt;br /&gt;
را به سایت اضافه کند.&lt;br /&gt;
&lt;br /&gt;
=== Post ===&lt;br /&gt;
&#039;&#039;&#039;Post&#039;&#039;&#039; یا نوشته برای انتشار محتوای معمولاً زمان‌محور استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
مقالات&lt;br /&gt;
اخبار&lt;br /&gt;
آموزش‌ها&lt;br /&gt;
مطالب وبلاگ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
می‌توانند به صورت Post منتشر شوند.&lt;br /&gt;
&lt;br /&gt;
=== Page ===&lt;br /&gt;
&#039;&#039;&#039;Page&#039;&#039;&#039; یا برگه برای صفحات ثابت سایت استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
درباره ما&lt;br /&gt;
تماس با ما&lt;br /&gt;
قوانین سایت&lt;br /&gt;
خدمات&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
معمولاً به صورت Page ساخته می‌شوند.&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
بخش Media برای مدیریت فایل‌های رسانه‌ای سایت استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
مانند:&lt;br /&gt;
* تصاویر&lt;br /&gt;
* فایل‌های صوتی&lt;br /&gt;
* ویدئوها&lt;br /&gt;
* فایل‌های PDF&lt;br /&gt;
&lt;br /&gt;
== داشبورد WordPress ==&lt;br /&gt;
بعد از ورود به پنل مدیریت WordPress، معمولاً بخش‌هایی مانند موارد زیر در اختیار مدیر سایت قرار دارد:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dashboard&lt;br /&gt;
Posts&lt;br /&gt;
Media&lt;br /&gt;
Pages&lt;br /&gt;
Comments&lt;br /&gt;
Appearance&lt;br /&gt;
Plugins&lt;br /&gt;
Users&lt;br /&gt;
Tools&lt;br /&gt;
Settings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
هرکدام از این بخش‌ها وظیفه خاصی برای مدیریت سایت دارند.&lt;br /&gt;
&lt;br /&gt;
== نصب WordPress ==&lt;br /&gt;
برای نصب WordPress روی هاست معمولاً مراحل کلی زیر انجام می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
خرید دامنه&lt;br /&gt;
   ↓&lt;br /&gt;
خرید هاست&lt;br /&gt;
   ↓&lt;br /&gt;
ایجاد Database&lt;br /&gt;
   ↓&lt;br /&gt;
آپلود WordPress&lt;br /&gt;
   ↓&lt;br /&gt;
تنظیم اطلاعات Database&lt;br /&gt;
   ↓&lt;br /&gt;
اجرای نصب&lt;br /&gt;
   ↓&lt;br /&gt;
تنظیم سایت&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در بعضی سرویس‌های هاست، نصب WordPress به صورت خودکار و از طریق ابزارهایی مانند نصب‌کننده‌های موجود در کنترل‌پنل انجام می‌شود.&lt;br /&gt;
&lt;br /&gt;
== ساختار فایل‌های WordPress ==&lt;br /&gt;
بعد از نصب WordPress، فایل‌ها و پوشه‌های مختلفی وجود دارند.&lt;br /&gt;
&lt;br /&gt;
مهم‌ترین پوشه‌ها عبارت‌اند از:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp-admin&lt;br /&gt;
wp-content&lt;br /&gt;
wp-includes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== wp-admin ===&lt;br /&gt;
فایل‌های مربوط به پنل مدیریت WordPress در این بخش قرار دارند.&lt;br /&gt;
&lt;br /&gt;
=== wp-content ===&lt;br /&gt;
یکی از مهم‌ترین پوشه‌های WordPress است.&lt;br /&gt;
&lt;br /&gt;
معمولاً قالب‌ها و افزونه‌های سایت در این مسیر قرار دارند:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp-content/&lt;br /&gt;
├── plugins/&lt;br /&gt;
├── themes/&lt;br /&gt;
└── uploads/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== wp-includes ===&lt;br /&gt;
فایل‌های اصلی و کتابخانه‌های مورد استفاده WordPress در این پوشه قرار دارند.&lt;br /&gt;
&lt;br /&gt;
== قالب WordPress ==&lt;br /&gt;
قالب‌های سایت معمولاً در مسیر زیر قرار دارند:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp-content/themes/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wp-content/themes/mytheme/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
یک قالب می‌تواند شامل فایل‌هایی مانند موارد زیر باشد:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style.css&lt;br /&gt;
index.php&lt;br /&gt;
functions.php&lt;br /&gt;
header.php&lt;br /&gt;
footer.php&lt;br /&gt;
single.php&lt;br /&gt;
page.php&lt;br /&gt;
archive.php&lt;br /&gt;
404.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== فایل functions.php ==&lt;br /&gt;
فایل &amp;lt;code&amp;gt;functions.php&amp;lt;/code&amp;gt; یکی از فایل‌های مهم یک قالب WordPress است.&lt;br /&gt;
&lt;br /&gt;
از آن می‌توان برای اضافه کردن قابلیت‌ها و تنظیمات مختلف به قالب استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function my_theme_setup() {&lt;br /&gt;
    add_theme_support(&#039;title-tag&#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
add_action(&#039;after_setup_theme&#039;, &#039;my_theme_setup&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
این کد قابلیت مدیریت عنوان صفحه توسط WordPress را فعال می‌کند.&lt;br /&gt;
&lt;br /&gt;
== اضافه کردن CSS ==&lt;br /&gt;
برای طراحی ظاهر سایت معمولاً از CSS استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
    font-family: Arial, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
    font-size: 32px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در یک قالب استاندارد بهتر است فایل CSS از طریق WordPress به قالب اضافه شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function my_theme_styles() {&lt;br /&gt;
    wp_enqueue_style(&lt;br /&gt;
        &#039;main-style&#039;,&lt;br /&gt;
        get_stylesheet_uri()&lt;br /&gt;
    );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
add_action(&#039;wp_enqueue_scripts&#039;, &#039;my_theme_styles&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WordPress Hooks ==&lt;br /&gt;
یکی از مفاهیم مهم در توسعه WordPress، &#039;&#039;&#039;Hooks&#039;&#039;&#039; است.&lt;br /&gt;
&lt;br /&gt;
Hooks به برنامه‌نویس اجازه می‌دهند در بخش‌های مختلف فرایند اجرای WordPress، کد خود را اضافه یا تغییر دهند.&lt;br /&gt;
&lt;br /&gt;
دو نوع اصلی Hook وجود دارد:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Action&lt;br /&gt;
Filter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Action ==&lt;br /&gt;
&#039;&#039;&#039;Action&#039;&#039;&#039; برای اجرای یک عملیات در زمان مشخص استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function my_function() {&lt;br /&gt;
    echo &amp;quot;Hello WordPress&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
add_action(&#039;wp_footer&#039;, &#039;my_function&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این مثال تابع &amp;lt;code&amp;gt;my_function&amp;lt;/code&amp;gt; به Action مربوط به Footer متصل شده است.&lt;br /&gt;
&lt;br /&gt;
== Filter ==&lt;br /&gt;
&#039;&#039;&#039;Filter&#039;&#039;&#039; برای تغییر یک مقدار قبل از استفاده یا نمایش آن استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function change_title($title) {&lt;br /&gt;
    return $title . &amp;quot; | My Website&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
add_filter(&#039;the_title&#039;, &#039;change_title&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این مثال عنوان نوشته قبل از نمایش تغییر می‌کند.&lt;br /&gt;
&lt;br /&gt;
== WordPress Loop ==&lt;br /&gt;
یکی از مفاهیم مهم WordPress، &#039;&#039;&#039;The Loop&#039;&#039;&#039; است.&lt;br /&gt;
&lt;br /&gt;
Loop برای دریافت و نمایش نوشته‌ها استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
یک نمونه ساده:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php if (have_posts()) : ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php while (have_posts()) : the_post(); ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;h2&amp;gt;&amp;lt;?php the_title(); ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div&amp;gt;&lt;br /&gt;
            &amp;lt;?php the_content(); ?&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php endwhile; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این کد:&lt;br /&gt;
* &amp;lt;code&amp;gt;have_posts()&amp;lt;/code&amp;gt; بررسی می‌کند که نوشته‌ای برای نمایش وجود دارد یا خیر.&lt;br /&gt;
* &amp;lt;code&amp;gt;the_post()&amp;lt;/code&amp;gt; نوشته بعدی را آماده می‌کند.&lt;br /&gt;
* &amp;lt;code&amp;gt;the_title()&amp;lt;/code&amp;gt; عنوان نوشته را نمایش می‌دهد.&lt;br /&gt;
* &amp;lt;code&amp;gt;the_content()&amp;lt;/code&amp;gt; محتوای نوشته را نمایش می‌دهد.&lt;br /&gt;
&lt;br /&gt;
== WordPress Query ==&lt;br /&gt;
برای دریافت اطلاعات خاص از نوشته‌ها می‌توان از &amp;lt;code&amp;gt;WP_Query&amp;lt;/code&amp;gt; استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$args = array(&lt;br /&gt;
    &#039;post_type&#039; =&amp;gt; &#039;post&#039;,&lt;br /&gt;
    &#039;posts_per_page&#039; =&amp;gt; 5&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$query = new WP_Query($args);&lt;br /&gt;
&lt;br /&gt;
if ($query-&amp;gt;have_posts()) {&lt;br /&gt;
&lt;br /&gt;
    while ($query-&amp;gt;have_posts()) {&lt;br /&gt;
        $query-&amp;gt;the_post();&lt;br /&gt;
&lt;br /&gt;
        echo &#039;&amp;lt;h2&amp;gt;&#039;;&lt;br /&gt;
        the_title();&lt;br /&gt;
        echo &#039;&amp;lt;/h2&amp;gt;&#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    wp_reset_postdata();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این مثال پنج نوشته دریافت می‌شود.&lt;br /&gt;
&lt;br /&gt;
== مدیریت کاربران ==&lt;br /&gt;
WordPress دارای سیستم مدیریت کاربران است.&lt;br /&gt;
&lt;br /&gt;
برخی نقش‌های پیش‌فرض عبارت‌اند از:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! نقش !! کاربرد&lt;br /&gt;
|-&lt;br /&gt;
| Administrator || مدیریت کامل سایت&lt;br /&gt;
|-&lt;br /&gt;
| Editor || مدیریت محتوای سایت&lt;br /&gt;
|-&lt;br /&gt;
| Author || انتشار و مدیریت نوشته‌های خود&lt;br /&gt;
|-&lt;br /&gt;
| Contributor || ایجاد نوشته بدون امکان انتشار مستقیم&lt;br /&gt;
|-&lt;br /&gt;
| Subscriber || دسترسی محدود به حساب کاربری&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== دسته‌بندی و برچسب ==&lt;br /&gt;
برای سازمان‌دهی محتوا در WordPress می‌توان از &#039;&#039;&#039;Categories&#039;&#039;&#039; و &#039;&#039;&#039;Tags&#039;&#039;&#039; استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
=== Category ===&lt;br /&gt;
برای دسته‌بندی کلی مطالب استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
مثلاً:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Programming&lt;br /&gt;
Web Design&lt;br /&gt;
WordPress&lt;br /&gt;
Git&lt;br /&gt;
HTML&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tag ===&lt;br /&gt;
برای مشخص کردن موضوعات مرتبط با یک نوشته استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
مثلاً برای مقاله‌ای درباره WordPress:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CMS&lt;br /&gt;
PHP&lt;br /&gt;
Website&lt;br /&gt;
WordPress&lt;br /&gt;
Tutorial&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permalink ==&lt;br /&gt;
Permalink آدرس دائمی صفحات و نوشته‌های سایت است.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://example.com/wordpress/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ساختار Permalink از بخش تنظیمات WordPress قابل تغییر است.&lt;br /&gt;
&lt;br /&gt;
یکی از ساختارهای رایج:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/%postname%/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
است.&lt;br /&gt;
&lt;br /&gt;
== WordPress و SEO ==&lt;br /&gt;
WordPress به‌تنهایی تضمین‌کننده رتبه بالا در موتورهای جست‌وجو نیست، اما امکانات مناسبی برای ایجاد سایت بهینه برای موتورهای جست‌وجو دارد.&lt;br /&gt;
&lt;br /&gt;
موارد مهم SEO شامل:&lt;br /&gt;
* ساختار مناسب URL&lt;br /&gt;
* عنوان مناسب صفحات&lt;br /&gt;
* توضیحات متا&lt;br /&gt;
* استفاده درست از Headingها&lt;br /&gt;
* سرعت سایت&lt;br /&gt;
* طراحی واکنش‌گرا&lt;br /&gt;
* محتوای باکیفیت&lt;br /&gt;
* لینک‌سازی داخلی&lt;br /&gt;
* بهینه‌سازی تصاویر&lt;br /&gt;
&lt;br /&gt;
== امنیت WordPress ==&lt;br /&gt;
امنیت WordPress اهمیت زیادی دارد.&lt;br /&gt;
&lt;br /&gt;
برخی اقدامات مهم:&lt;br /&gt;
* استفاده از رمز عبور قوی&lt;br /&gt;
* به‌روزرسانی WordPress&lt;br /&gt;
* به‌روزرسانی قالب‌ها&lt;br /&gt;
* به‌روزرسانی افزونه‌ها&lt;br /&gt;
* حذف افزونه‌های غیرضروری&lt;br /&gt;
* تهیه Backup&lt;br /&gt;
* استفاده از HTTPS&lt;br /&gt;
* محدود کردن دسترسی کاربران&lt;br /&gt;
* استفاده از افزونه‌های امنیتی معتبر&lt;br /&gt;
&lt;br /&gt;
== Backup ==&lt;br /&gt;
پشتیبان‌گیری به شما اجازه می‌دهد در صورت بروز مشکل، سایت را بازیابی کنید.&lt;br /&gt;
&lt;br /&gt;
یک Backup مناسب معمولاً شامل موارد زیر است:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
فایل‌های WordPress&lt;br /&gt;
+&lt;br /&gt;
Database&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
تنها داشتن فایل‌های سایت بدون Database در بسیاری از موارد برای بازیابی کامل سایت کافی نیست.&lt;br /&gt;
&lt;br /&gt;
== WordPress REST API ==&lt;br /&gt;
WordPress دارای یک &#039;&#039;&#039;REST API&#039;&#039;&#039; است که امکان دسترسی برنامه‌ها و سرویس‌های دیگر به اطلاعات سایت را فراهم می‌کند.&lt;br /&gt;
&lt;br /&gt;
برای مثال می‌توان از API برای دریافت نوشته‌ها استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
یک Endpoint رایج:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/wp-json/wp/v2/posts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
است.&lt;br /&gt;
&lt;br /&gt;
در صورت فعال بودن API، درخواست به این مسیر می‌تواند اطلاعات نوشته‌ها را برگرداند.&lt;br /&gt;
&lt;br /&gt;
== WordPress برای برنامه‌نویسان ==&lt;br /&gt;
WordPress فقط یک سیستم آماده برای ساخت سایت نیست؛ بلکه امکان توسعه و شخصی‌سازی با استفاده از تکنولوژی‌هایی مانند موارد زیر را فراهم می‌کند:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PHP&lt;br /&gt;
HTML&lt;br /&gt;
CSS&lt;br /&gt;
JavaScript&lt;br /&gt;
MySQL&lt;br /&gt;
REST API&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برنامه‌نویس می‌تواند:&lt;br /&gt;
* قالب اختصاصی ایجاد کند&lt;br /&gt;
* افزونه اختصاصی بسازد&lt;br /&gt;
* API ایجاد یا استفاده کند&lt;br /&gt;
* Post Type اختصاصی ایجاد کند&lt;br /&gt;
* پنل مدیریت را توسعه دهد&lt;br /&gt;
* قابلیت‌های جدید به WordPress اضافه کند&lt;br /&gt;
&lt;br /&gt;
== خلاصه دستورات و توابع مهم WordPress ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! تابع / مفهوم !! کاربرد&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wp_enqueue_style()&amp;lt;/code&amp;gt; || اضافه کردن فایل CSS&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wp_enqueue_script()&amp;lt;/code&amp;gt; || اضافه کردن JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;add_action()&amp;lt;/code&amp;gt; || اتصال تابع به Action&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;add_filter()&amp;lt;/code&amp;gt; || اتصال تابع به Filter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;the_title()&amp;lt;/code&amp;gt; || نمایش عنوان&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;the_content()&amp;lt;/code&amp;gt; || نمایش محتوا&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;the_permalink()&amp;lt;/code&amp;gt; || نمایش لینک نوشته&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;the_post()&amp;lt;/code&amp;gt; || آماده‌سازی نوشته فعلی&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;have_posts()&amp;lt;/code&amp;gt; || بررسی وجود نوشته&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WP_Query&amp;lt;/code&amp;gt; || ایجاد Query برای دریافت محتوا&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;get_template_part()&amp;lt;/code&amp;gt; || بارگذاری بخش‌هایی از قالب&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;get_header()&amp;lt;/code&amp;gt; || بارگذاری Header&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;get_footer()&amp;lt;/code&amp;gt; || بارگذاری Footer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;get_sidebar()&amp;lt;/code&amp;gt; || بارگذاری Sidebar&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wp_nav_menu()&amp;lt;/code&amp;gt; || نمایش منو&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wp_get_attachment_url()&amp;lt;/code&amp;gt; || دریافت آدرس فایل رسانه&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wp_reset_postdata()&amp;lt;/code&amp;gt; || بازگرداندن اطلاعات Post پس از Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ساختار پیشنهادی یادگیری WordPress ==&lt;br /&gt;
برای یادگیری WordPress می‌توان مسیر زیر را دنبال کرد:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WordPress مقدماتی&lt;br /&gt;
      ↓&lt;br /&gt;
نصب WordPress&lt;br /&gt;
      ↓&lt;br /&gt;
مدیریت نوشته و برگه&lt;br /&gt;
      ↓&lt;br /&gt;
قالب‌ها&lt;br /&gt;
      ↓&lt;br /&gt;
افزونه‌ها&lt;br /&gt;
      ↓&lt;br /&gt;
HTML و CSS در WordPress&lt;br /&gt;
      ↓&lt;br /&gt;
PHP&lt;br /&gt;
      ↓&lt;br /&gt;
functions.php&lt;br /&gt;
      ↓&lt;br /&gt;
Hooks&lt;br /&gt;
      ↓&lt;br /&gt;
The Loop&lt;br /&gt;
      ↓&lt;br /&gt;
WP_Query&lt;br /&gt;
      ↓&lt;br /&gt;
ساخت قالب اختصاصی&lt;br /&gt;
      ↓&lt;br /&gt;
ساخت Plugin&lt;br /&gt;
      ↓&lt;br /&gt;
REST API&lt;br /&gt;
      ↓&lt;br /&gt;
توسعه حرفه‌ای WordPress&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== جمع‌بندی ==&lt;br /&gt;
WordPress یک CMS انعطاف‌پذیر برای ساخت و مدیریت وب‌سایت است. استفاده از قالب‌ها و افزونه‌ها امکان ساخت سایت بدون برنامه‌نویسی گسترده را فراهم می‌کند، در حالی که توسعه‌دهندگان می‌توانند با PHP، HTML، CSS و JavaScript امکانات WordPress را به شکل گسترده‌ای سفارشی کنند.&lt;br /&gt;
&lt;br /&gt;
برای کار حرفه‌ای با WordPress، آشنایی با &#039;&#039;&#039;HTML، CSS، PHP، JavaScript، Database، Git و مفاهیم وب&#039;&#039;&#039; بسیار مفید است.&lt;br /&gt;
&lt;br /&gt;
[[رده:وردپرس]]&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=Git&amp;diff=6</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=Git&amp;diff=6"/>
		<updated>2026-09-06T08:07:02Z</updated>

		<summary type="html">&lt;p&gt;Elina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== گیت (Git) ==&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039; یک سیستم کنترل نسخه (Version Control System) است که برای مدیریت تغییرات فایل‌ها و پروژه‌ها استفاده می‌شود. Git به برنامه‌نویسان و تیم‌های توسعه کمک می‌کند تا تغییرات پروژه را ثبت کنند، به نسخه‌های قبلی برگردند و هم‌زمان روی یک پروژه کار کنند.&lt;br /&gt;
&lt;br /&gt;
Git بیشتر در پروژه‌های برنامه‌نویسی، طراحی سایت و توسعه نرم‌افزار استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
== Git چه کاربردی دارد؟ ==&lt;br /&gt;
مهم‌ترین کاربردهای Git عبارت‌اند از:&lt;br /&gt;
* ثبت تغییرات فایل‌ها و پروژه&lt;br /&gt;
* مشاهده تاریخچه تغییرات&lt;br /&gt;
* بازگشت به نسخه‌های قبلی&lt;br /&gt;
* ایجاد شاخه‌های مختلف برای توسعه قابلیت‌های جدید&lt;br /&gt;
* ادغام تغییرات چند شاخه&lt;br /&gt;
* همکاری چند نفر روی یک پروژه&lt;br /&gt;
* اتصال پروژه به سرویس‌هایی مانند GitHub، GitLab و Bitbucket&lt;br /&gt;
* نگهداری نسخه‌های مختلف یک پروژه&lt;br /&gt;
&lt;br /&gt;
== مفاهیم اصلی Git ==&lt;br /&gt;
قبل از یادگیری دستورات Git بهتر است چند مفهوم اصلی را بشناسیم.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
مخزن یا &#039;&#039;&#039;Repository&#039;&#039;&#039; محلی است که Git اطلاعات مربوط به پروژه و تاریخچه تغییرات آن را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
یک Repository می‌تواند روی کامپیوتر یا روی سرویس‌هایی مانند GitHub قرار داشته باشد.&lt;br /&gt;
&lt;br /&gt;
=== Commit ===&lt;br /&gt;
هر بار که مجموعه‌ای از تغییرات را در Git ثبت می‌کنیم، یک &#039;&#039;&#039;Commit&#039;&#039;&#039; ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
هر Commit مانند یک نقطه در تاریخچه پروژه است و می‌توان اطلاعات تغییرات انجام‌شده را در آن مشاهده کرد.&lt;br /&gt;
&lt;br /&gt;
=== Branch ===&lt;br /&gt;
&#039;&#039;&#039;Branch&#039;&#039;&#039; یا شاخه به ما اجازه می‌دهد بدون تغییر مستقیم نسخه اصلی پروژه، روی یک قابلیت یا تغییر جدید کار کنیم.&lt;br /&gt;
&lt;br /&gt;
برای مثال می‌توان یک Branch برای توسعه قابلیت جدید و یک Branch برای نسخه اصلی پروژه داشت.&lt;br /&gt;
&lt;br /&gt;
=== Merge ===&lt;br /&gt;
از &#039;&#039;&#039;Merge&#039;&#039;&#039; برای ترکیب تغییرات یک Branch با Branch دیگر استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
=== Remote ===&lt;br /&gt;
&#039;&#039;&#039;Remote&#039;&#039;&#039; به یک Repository که در یک محل دیگر، معمولاً روی اینترنت، قرار دارد گفته می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال Repository موجود در GitHub می‌تواند Remote پروژه محلی ما باشد.&lt;br /&gt;
&lt;br /&gt;
== دستورات پایه Git ==&lt;br /&gt;
&lt;br /&gt;
=== git init ===&lt;br /&gt;
برای تبدیل یک پوشه به Repository از دستور زیر استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git init&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
بعد از اجرای این دستور، Git یک پوشه مخفی با نام &amp;lt;code&amp;gt;.git&amp;lt;/code&amp;gt; ایجاد می‌کند.&lt;br /&gt;
&lt;br /&gt;
این پوشه اطلاعات مربوط به تاریخچه و تنظیمات Repository را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
=== git status ===&lt;br /&gt;
برای مشاهده وضعیت فعلی پروژه استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
این دستور نشان می‌دهد:&lt;br /&gt;
* چه فایل‌هایی تغییر کرده‌اند&lt;br /&gt;
* چه فایل‌هایی برای Commit آماده شده‌اند&lt;br /&gt;
* چه فایل‌هایی هنوز توسط Git دنبال نمی‌شوند&lt;br /&gt;
* در حال حاضر روی چه Branch ای قرار داریم&lt;br /&gt;
&lt;br /&gt;
=== git add ===&lt;br /&gt;
برای اضافه کردن تغییرات به مرحله آماده‌سازی (Staging Area) استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن یک فایل:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add index.html&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن چند فایل:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add index.html style.css script.js&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تمام تغییرات:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git commit ===&lt;br /&gt;
برای ثبت تغییرات آماده‌شده در تاریخچه Git استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Add homepage&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
عبارت داخل &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; توضیح کوتاهی درباره تغییرات Commit است.&lt;br /&gt;
&lt;br /&gt;
بهتر است پیام Commit کوتاه، واضح و مرتبط با تغییرات باشد.&lt;br /&gt;
&lt;br /&gt;
=== git log ===&lt;br /&gt;
برای مشاهده تاریخچه Commitها استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای نمایش خلاصه‌تر:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --oneline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
مثلاً:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a83f21a Add homepage&lt;br /&gt;
52bc91d Fix navigation&lt;br /&gt;
19ac742 Initial commit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== کار با Branch ==&lt;br /&gt;
&lt;br /&gt;
=== مشاهده Branchها ===&lt;br /&gt;
برای مشاهده Branchهای موجود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ایجاد Branch جدید ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch feature-login&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این حالت یک Branch جدید ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
=== تغییر Branch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git switch feature-login&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
همچنین در نسخه‌های قدیمی‌تر Git می‌توان از دستور زیر استفاده کرد:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout feature-login&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ایجاد و ورود هم‌زمان به Branch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git switch -c feature-login&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
این دستور یک Branch جدید ایجاد کرده و بلافاصله وارد آن می‌شود.&lt;br /&gt;
&lt;br /&gt;
=== حذف Branch ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git branch -d feature-login&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اگر Branch هنوز Merge نشده باشد، Git ممکن است از حذف آن جلوگیری کند.&lt;br /&gt;
&lt;br /&gt;
== اتصال Git به GitHub ==&lt;br /&gt;
برای اتصال Repository محلی به یک Repository روی GitHub معمولاً ابتدا Remote اضافه می‌شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git remote add origin https://github.com/USERNAME/REPOSITORY.git&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Remoteهای موجود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ارسال تغییرات به Remote ===&lt;br /&gt;
برای ارسال Branch به Repository آنلاین:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push origin main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها Branch اصلی با نام main است.&lt;br /&gt;
&lt;br /&gt;
برای اینکه Branch محلی برای Pushهای بعدی به Remote متصل شود:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push -u origin main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
پس از تنظیم اولیه، معمولاً می‌توان از:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
=== دریافت تغییرات از Remote ===&lt;br /&gt;
&lt;br /&gt;
==== git pull ====&lt;br /&gt;
برای دریافت تغییرات جدید و ادغام آن‌ها با Branch فعلی:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
یا:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull origin main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== git fetch ====&lt;br /&gt;
برای دریافت اطلاعات و تغییرات Remote بدون ادغام مستقیم آن‌ها:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git fetch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
تفاوت مهم این دو دستور این است که fetch تغییرات را دریافت می‌کند ولی آن‌ها را به Branch فعلی Merge نمی‌کند؛ در حالی که pull معمولاً دریافت و ادغام تغییرات را با هم انجام می‌دهد.&lt;br /&gt;
&lt;br /&gt;
== برگرداندن تغییرات ==&lt;br /&gt;
&lt;br /&gt;
=== git restore ===&lt;br /&gt;
اگر فایلی را تغییر داده‌ای ولی هنوز آن را Commit نکرده‌ای، می‌توانی تغییرات آن را کنار بگذاری:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git restore index.html&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای خارج کردن یک فایل از Staging Area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git restore --staged index.html&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== git revert ===&lt;br /&gt;
برای ایجاد یک Commit جدید که اثر یک Commit قبلی را برعکس می‌کند:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git revert COMMIT_ID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
این روش معمولاً برای برگرداندن تغییرات در پروژه‌هایی که تاریخچه آن‌ها به اشتراک گذاشته شده مناسب‌تر است.&lt;br /&gt;
&lt;br /&gt;
=== git reset ===&lt;br /&gt;
&#039;&#039;&#039;git reset&#039;&#039;&#039; می‌تواند HEAD و وضعیت Staging را تغییر دهد.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git reset HEAD~1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
این دستور آخرین Commit را از حالت Commit خارج می‌کند، در حالی که تغییرات فایل‌ها باقی می‌مانند.&lt;br /&gt;
&lt;br /&gt;
دستور reset به‌خصوص در حالت‌های پیشرفته باید با دقت استفاده شود.&lt;br /&gt;
&lt;br /&gt;
== مشاهده تفاوت تغییرات ==&lt;br /&gt;
برای مشاهده تغییراتی که هنوز Commit نشده‌اند:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تفاوت بین دو Commit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff COMMIT1 COMMIT2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== کار با فایل‌های نادیده گرفته‌شده ==&lt;br /&gt;
گاهی نمی‌خواهیم بعضی فایل‌ها وارد Repository شوند.&lt;br /&gt;
&lt;br /&gt;
برای این کار از فایل &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
node_modules/&lt;br /&gt;
.env&lt;br /&gt;
*.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در این مثال:&lt;br /&gt;
* پوشه &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt; نادیده گرفته می‌شود.&lt;br /&gt;
* فایل &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; نادیده گرفته می‌شود.&lt;br /&gt;
* فایل‌های دارای پسوند &amp;lt;code&amp;gt;.log&amp;lt;/code&amp;gt; نادیده گرفته می‌شوند.&lt;br /&gt;
&lt;br /&gt;
== دستورات مهم Git در یک جدول ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! دستور !! کاربرد&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt; || ایجاد Repository&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; || مشاهده وضعیت پروژه&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git add&amp;lt;/code&amp;gt; || اضافه کردن تغییرات به Staging&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git commit&amp;lt;/code&amp;gt; || ثبت تغییرات&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git log&amp;lt;/code&amp;gt; || مشاهده تاریخچه&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git branch&amp;lt;/code&amp;gt; || مدیریت Branchها&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git switch&amp;lt;/code&amp;gt; || تغییر Branch&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git merge&amp;lt;/code&amp;gt; || ادغام Branchها&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git remote&amp;lt;/code&amp;gt; || مدیریت Remote&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt; || کپی کردن یک Repository&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt; || ارسال تغییرات به Remote&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; || دریافت و ادغام تغییرات&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git fetch&amp;lt;/code&amp;gt; || دریافت اطلاعات Remote بدون Merge&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git diff&amp;lt;/code&amp;gt; || مشاهده تفاوت تغییرات&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git restore&amp;lt;/code&amp;gt; || برگرداندن تغییرات فایل&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git revert&amp;lt;/code&amp;gt; || معکوس کردن یک Commit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git reset&amp;lt;/code&amp;gt; || تغییر وضعیت Commit/Stage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;git tag&amp;lt;/code&amp;gt; || ایجاد Tag برای نسخه‌ها&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== یک مثال عملی ==&lt;br /&gt;
فرض کنید یک سایت HTML ساخته‌ایم و می‌خواهیم آن را با Git مدیریت کنیم.&lt;br /&gt;
&lt;br /&gt;
ابتدا وارد پوشه پروژه می‌شویم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd my-website&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
سپس Repository را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git init&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
وضعیت پروژه را بررسی می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
فایل‌ها را به Staging اضافه می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اولین Commit را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Initial website&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حالا اگر فایل index.html را تغییر دهیم، می‌توانیم تغییرات را مشاهده کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
سپس تغییرات را ثبت می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git add index.html&lt;br /&gt;
git commit -m &amp;quot;Update homepage&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
به این ترتیب Git تاریخچه تغییرات سایت را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
== روند معمول کار با Git ==&lt;br /&gt;
در بسیاری از پروژه‌ها روند کار به شکل زیر است:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
تغییر فایل‌ها&lt;br /&gt;
     ↓&lt;br /&gt;
git status&lt;br /&gt;
     ↓&lt;br /&gt;
git add&lt;br /&gt;
     ↓&lt;br /&gt;
git commit&lt;br /&gt;
     ↓&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اگر پروژه دارای Repository آنلاین باشد، برای دریافت تغییرات جدید معمولاً ابتدا:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
== نکته مهم ==&lt;br /&gt;
&#039;&#039;&#039;Git و GitHub یکی نیستند.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Git&#039;&#039;&#039; یک سیستم کنترل نسخه است که روی کامپیوتر اجرا می‌شود.&lt;br /&gt;
* &#039;&#039;&#039;GitHub&#039;&#039;&#039; یک سرویس آنلاین برای میزبانی Repositoryهای Git و همکاری روی پروژه‌هاست.&lt;br /&gt;
&lt;br /&gt;
به زبان ساده:&lt;br /&gt;
* &#039;&#039;&#039;Git&#039;&#039;&#039; = مدیریت نسخه‌ها&lt;br /&gt;
* &#039;&#039;&#039;GitHub&#039;&#039;&#039; = میزبانی و همکاری آنلاین&lt;br /&gt;
&lt;br /&gt;
[[رده:گیت]]&lt;br /&gt;
[[رده:ابزارهای توسعه‌دهنده]]&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=5</id>
		<title>صفحهٔ اصلی</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=5"/>
		<updated>2026-09-06T07:41:37Z</updated>

		<summary type="html">&lt;p&gt;Elina: جایگزینی صفحه با &amp;#039;&amp;#039;&amp;#039;&amp;#039;مدیاویکی با موفقیت نصب شد.&amp;#039;&amp;#039;&amp;#039;  برای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی به [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents فهرست راهنمای کاربر] مراجعه کنید.  == آغاز به کار == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی] * [https://www.mediaw...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;مدیاویکی با موفقیت نصب شد.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
برای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی به [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents فهرست راهنمای کاربر] مراجعه کنید.&lt;br /&gt;
&lt;br /&gt;
== آغاز به کار ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های متداول مدیاویکی]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ فهرست ایمیلی نسخه‌های مدیاویکی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources بومی‌سازی مدیاویکی برای زبان شما]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam چگونگی مقابله با اسپم در ویکی خودتان را یاد بگیرید]&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=Git&amp;diff=4</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=Git&amp;diff=4"/>
		<updated>2026-09-06T06:21:41Z</updated>

		<summary type="html">&lt;p&gt;Elina: صفحه‌ای تازه حاوی «Git Git چیست؟  Git یک سیستم کنترل نسخه (Version Control System) است که برای مدیریت تغییرات فایل‌ها و پروژه‌ها استفاده می‌شود. Git به برنامه‌نویسان و تیم‌های توسعه کمک می‌کند تا تغییرات پروژه را ثبت کنند، به نسخه‌های قبلی برگردند و هم‌زمان روی یک پروژه کار...» ایجاد کرد&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Git&lt;br /&gt;
Git چیست؟&lt;br /&gt;
&lt;br /&gt;
Git یک سیستم کنترل نسخه (Version Control System) است که برای مدیریت تغییرات فایل‌ها و پروژه‌ها استفاده می‌شود. Git به برنامه‌نویسان و تیم‌های توسعه کمک می‌کند تا تغییرات پروژه را ثبت کنند، به نسخه‌های قبلی برگردند و هم‌زمان روی یک پروژه کار کنند.&lt;br /&gt;
&lt;br /&gt;
Git بیشتر در پروژه‌های برنامه‌نویسی، طراحی سایت و توسعه نرم‌افزار استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
Git چه کاربردی دارد؟&lt;br /&gt;
&lt;br /&gt;
مهم‌ترین کاربردهای Git عبارت‌اند از:&lt;br /&gt;
&lt;br /&gt;
ثبت تغییرات فایل‌ها و پروژه&lt;br /&gt;
مشاهده تاریخچه تغییرات&lt;br /&gt;
بازگشت به نسخه‌های قبلی&lt;br /&gt;
ایجاد شاخه‌های مختلف برای توسعه قابلیت‌های جدید&lt;br /&gt;
ادغام تغییرات چند شاخه&lt;br /&gt;
همکاری چند نفر روی یک پروژه&lt;br /&gt;
اتصال پروژه به سرویس‌هایی مانند GitHub، GitLab و Bitbucket&lt;br /&gt;
نگهداری نسخه‌های مختلف یک پروژه&lt;br /&gt;
مفاهیم اصلی Git&lt;br /&gt;
&lt;br /&gt;
قبل از یادگیری دستورات Git بهتر است چند مفهوم اصلی را بشناسیم.&lt;br /&gt;
&lt;br /&gt;
Repository&lt;br /&gt;
&lt;br /&gt;
مخزن یا Repository محلی است که Git اطلاعات مربوط به پروژه و تاریخچه تغییرات آن را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
یک Repository می‌تواند روی کامپیوتر یا روی سرویس‌هایی مانند GitHub قرار داشته باشد.&lt;br /&gt;
&lt;br /&gt;
Commit&lt;br /&gt;
&lt;br /&gt;
هر بار که مجموعه‌ای از تغییرات را در Git ثبت می‌کنیم، یک Commit ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
هر Commit مانند یک نقطه در تاریخچه پروژه است و می‌توان اطلاعات تغییرات انجام‌شده را در آن مشاهده کرد.&lt;br /&gt;
&lt;br /&gt;
Branch&lt;br /&gt;
&lt;br /&gt;
Branch یا شاخه به ما اجازه می‌دهد بدون تغییر مستقیم نسخه اصلی پروژه، روی یک قابلیت یا تغییر جدید کار کنیم.&lt;br /&gt;
&lt;br /&gt;
برای مثال می‌توان یک Branch برای توسعه قابلیت جدید و یک Branch برای نسخه اصلی پروژه داشت.&lt;br /&gt;
&lt;br /&gt;
Merge&lt;br /&gt;
&lt;br /&gt;
از Merge برای ترکیب تغییرات یک Branch با Branch دیگر استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
Remote&lt;br /&gt;
&lt;br /&gt;
Remote به یک Repository که در یک محل دیگر، معمولاً روی اینترنت، قرار دارد گفته می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال Repository موجود در GitHub می‌تواند Remote پروژه محلی ما باشد.&lt;br /&gt;
&lt;br /&gt;
دستورات پایه Git&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
برای تبدیل یک پوشه به Repository از دستور زیر استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
بعد از اجرای این دستور، Git یک پوشه مخفی با نام .git ایجاد می‌کند.&lt;br /&gt;
&lt;br /&gt;
این پوشه اطلاعات مربوط به تاریخچه و تنظیمات Repository را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
برای مشاهده وضعیت فعلی پروژه استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
این دستور نشان می‌دهد:&lt;br /&gt;
&lt;br /&gt;
چه فایل‌هایی تغییر کرده‌اند&lt;br /&gt;
چه فایل‌هایی برای Commit آماده شده‌اند&lt;br /&gt;
چه فایل‌هایی هنوز توسط Git دنبال نمی‌شوند&lt;br /&gt;
در حال حاضر روی چه Branchای قرار داریم&lt;br /&gt;
git add&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تغییرات به مرحله آماده‌سازی (Staging Area) استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن یک فایل:&lt;br /&gt;
&lt;br /&gt;
git add index.html&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن چند فایل:&lt;br /&gt;
&lt;br /&gt;
git add index.html style.css script.js&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تمام تغییرات:&lt;br /&gt;
&lt;br /&gt;
git add .&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
برای ثبت تغییرات آماده‌شده در تاریخچه Git استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git commit -m &amp;quot;Add homepage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
عبارت داخل -m توضیح کوتاهی درباره تغییرات Commit است.&lt;br /&gt;
&lt;br /&gt;
بهتر است پیام Commit کوتاه، واضح و مرتبط با تغییرات باشد.&lt;br /&gt;
&lt;br /&gt;
git log&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تاریخچه Commitها استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git log&lt;br /&gt;
&lt;br /&gt;
برای نمایش خلاصه‌تر:&lt;br /&gt;
&lt;br /&gt;
git log --oneline&lt;br /&gt;
&lt;br /&gt;
مثلاً:&lt;br /&gt;
&lt;br /&gt;
a83f21a Add homepage&lt;br /&gt;
52bc91d Fix navigation&lt;br /&gt;
19ac742 Initial commit&lt;br /&gt;
کار با Branch&lt;br /&gt;
مشاهده Branchها&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Branchهای موجود:&lt;br /&gt;
&lt;br /&gt;
git branch&lt;br /&gt;
ایجاد Branch جدید&lt;br /&gt;
git branch feature-login&lt;br /&gt;
&lt;br /&gt;
در این حالت یک Branch جدید ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
تغییر Branch&lt;br /&gt;
git switch feature-login&lt;br /&gt;
&lt;br /&gt;
همچنین در نسخه‌های قدیمی‌تر Git می‌توان از دستور زیر استفاده کرد:&lt;br /&gt;
&lt;br /&gt;
git checkout feature-login&lt;br /&gt;
ایجاد و ورود هم‌زمان به Branch&lt;br /&gt;
git switch -c feature-login&lt;br /&gt;
&lt;br /&gt;
این دستور یک Branch جدید ایجاد کرده و بلافاصله وارد آن می‌شود.&lt;br /&gt;
&lt;br /&gt;
حذف Branch&lt;br /&gt;
git branch -d feature-login&lt;br /&gt;
&lt;br /&gt;
اگر Branch هنوز Merge نشده باشد، Git ممکن است از حذف آن جلوگیری کند.&lt;br /&gt;
&lt;br /&gt;
اتصال Git به GitHub&lt;br /&gt;
&lt;br /&gt;
برای اتصال Repository محلی به یک Repository روی GitHub معمولاً ابتدا Remote اضافه می‌شود:&lt;br /&gt;
&lt;br /&gt;
git remote add origin https://github.com/USERNAME/REPOSITORY.git&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Remoteهای موجود:&lt;br /&gt;
&lt;br /&gt;
git remote -v&lt;br /&gt;
ارسال تغییرات به Remote&lt;br /&gt;
&lt;br /&gt;
برای ارسال Branch به Repository آنلاین:&lt;br /&gt;
&lt;br /&gt;
git push origin main&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها Branch اصلی با نام main است.&lt;br /&gt;
&lt;br /&gt;
برای اینکه Branch محلی برای Pushهای بعدی به Remote متصل شود:&lt;br /&gt;
&lt;br /&gt;
git push -u origin main&lt;br /&gt;
&lt;br /&gt;
پس از تنظیم اولیه، معمولاً می‌توان از:&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
دریافت تغییرات از Remote&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
برای دریافت تغییرات جدید و ادغام آن‌ها با Branch فعلی:&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
یا:&lt;br /&gt;
&lt;br /&gt;
git pull origin main&lt;br /&gt;
git fetch&lt;br /&gt;
&lt;br /&gt;
برای دریافت اطلاعات و تغییرات Remote بدون ادغام مستقیم آن‌ها:&lt;br /&gt;
&lt;br /&gt;
git fetch&lt;br /&gt;
&lt;br /&gt;
تفاوت مهم این دو دستور این است که fetch تغییرات را دریافت می‌کند ولی آن‌ها را به Branch فعلی Merge نمی‌کند؛ در حالی که pull معمولاً دریافت و ادغام تغییرات را با هم انجام می‌دهد.&lt;br /&gt;
&lt;br /&gt;
برگرداندن تغییرات&lt;br /&gt;
git restore&lt;br /&gt;
&lt;br /&gt;
اگر فایلی را تغییر داده‌ای ولی هنوز آن را Commit نکرده‌ای، می‌توانی تغییرات آن را کنار بگذاری:&lt;br /&gt;
&lt;br /&gt;
git restore index.html&lt;br /&gt;
&lt;br /&gt;
برای خارج کردن یک فایل از Staging Area:&lt;br /&gt;
&lt;br /&gt;
git restore --staged index.html&lt;br /&gt;
git revert&lt;br /&gt;
&lt;br /&gt;
برای ایجاد یک Commit جدید که اثر یک Commit قبلی را برعکس می‌کند:&lt;br /&gt;
&lt;br /&gt;
git revert COMMIT_ID&lt;br /&gt;
&lt;br /&gt;
این روش معمولاً برای برگرداندن تغییرات در پروژه‌هایی که تاریخچه آن‌ها به اشتراک گذاشته شده مناسب‌تر است.&lt;br /&gt;
&lt;br /&gt;
git reset&lt;br /&gt;
&lt;br /&gt;
git reset می‌تواند HEAD و وضعیت Staging را تغییر دهد.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
git reset HEAD~1&lt;br /&gt;
&lt;br /&gt;
این دستور آخرین Commit را از حالت Commit خارج می‌کند، در حالی که تغییرات فایل‌ها باقی می‌مانند.&lt;br /&gt;
&lt;br /&gt;
دستور reset به‌خصوص در حالت‌های پیشرفته باید با دقت استفاده شود.&lt;br /&gt;
&lt;br /&gt;
مشاهده تفاوت تغییرات&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تغییراتی که هنوز Commit نشده‌اند:&lt;br /&gt;
&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تفاوت بین دو Commit:&lt;br /&gt;
&lt;br /&gt;
git diff COMMIT1 COMMIT2&lt;br /&gt;
کار با فایل‌های نادیده گرفته‌شده&lt;br /&gt;
&lt;br /&gt;
گاهی نمی‌خواهیم بعضی فایل‌ها وارد Repository شوند.&lt;br /&gt;
&lt;br /&gt;
برای این کار از فایل:&lt;br /&gt;
&lt;br /&gt;
.gitignore&lt;br /&gt;
&lt;br /&gt;
استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
node_modules/&lt;br /&gt;
.env&lt;br /&gt;
*.log&lt;br /&gt;
&lt;br /&gt;
در این مثال:&lt;br /&gt;
&lt;br /&gt;
پوشه node_modules نادیده گرفته می‌شود.&lt;br /&gt;
فایل .env نادیده گرفته می‌شود.&lt;br /&gt;
فایل‌های دارای پسوند .log نادیده گرفته می‌شوند.&lt;br /&gt;
دستورات مهم Git در یک جدول&lt;br /&gt;
دستور	کاربرد&lt;br /&gt;
git init	ایجاد Repository&lt;br /&gt;
git status	مشاهده وضعیت پروژه&lt;br /&gt;
git add	اضافه کردن تغییرات به Staging&lt;br /&gt;
git commit	ثبت تغییرات&lt;br /&gt;
git log	مشاهده تاریخچه&lt;br /&gt;
git branch	مدیریت Branchها&lt;br /&gt;
git switch	تغییر Branch&lt;br /&gt;
git merge	ادغام Branchها&lt;br /&gt;
git remote	مدیریت Remote&lt;br /&gt;
git clone	کپی کردن یک Repository&lt;br /&gt;
git push	ارسال تغییرات به Remote&lt;br /&gt;
git pull	دریافت و ادغام تغییرات&lt;br /&gt;
git fetch	دریافت اطلاعات Remote بدون Merge&lt;br /&gt;
git diff	مشاهده تفاوت تغییرات&lt;br /&gt;
git restore	برگرداندن تغییرات فایل&lt;br /&gt;
git revert	معکوس کردن یک Commit&lt;br /&gt;
git reset	تغییر وضعیت Commit/Stage&lt;br /&gt;
git tag	ایجاد Tag برای نسخه‌ها&lt;br /&gt;
یک مثال عملی&lt;br /&gt;
&lt;br /&gt;
فرض کنید یک سایت HTML ساخته‌ایم و می‌خواهیم آن را با Git مدیریت کنیم.&lt;br /&gt;
&lt;br /&gt;
ابتدا وارد پوشه پروژه می‌شویم:&lt;br /&gt;
&lt;br /&gt;
cd my-website&lt;br /&gt;
&lt;br /&gt;
سپس Repository را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
وضعیت پروژه را بررسی می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
فایل‌ها را به Staging اضافه می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git add .&lt;br /&gt;
&lt;br /&gt;
اولین Commit را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git commit -m &amp;quot;Initial website&amp;quot;&lt;br /&gt;
&lt;br /&gt;
حالا اگر فایل index.html را تغییر دهیم، می‌توانیم تغییرات را مشاهده کنیم:&lt;br /&gt;
&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
سپس تغییرات را ثبت می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git add index.html&lt;br /&gt;
git commit -m &amp;quot;Update homepage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
به این ترتیب Git تاریخچه تغییرات سایت را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
روند معمول کار با Git&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها روند کار به شکل زیر است:&lt;br /&gt;
&lt;br /&gt;
تغییر فایل‌ها&lt;br /&gt;
     ↓&lt;br /&gt;
git status&lt;br /&gt;
     ↓&lt;br /&gt;
git add&lt;br /&gt;
     ↓&lt;br /&gt;
git commit&lt;br /&gt;
     ↓&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
اگر پروژه دارای Repository آنلاین باشد، برای دریافت تغییرات جدید معمولاً ابتدا:&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
نکته مهم&lt;br /&gt;
&lt;br /&gt;
Git و GitHub یکی نیستند.&lt;br /&gt;
&lt;br /&gt;
Git یک سیستم کنترل نسخه است که روی کامپیوتر اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
GitHub یک سرویس آنلاین برای میزبانی Repositoryهای Git و همکاری روی پروژه‌هاست.&lt;br /&gt;
&lt;br /&gt;
به زبان ساده:&lt;br /&gt;
&lt;br /&gt;
Git = مدیریت نسخه‌ها&lt;br /&gt;
GitHub = میزبانی و همکاری آنلاین&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=3</id>
		<title>صفحهٔ اصلی</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=3"/>
		<updated>2026-09-06T06:10:33Z</updated>

		<summary type="html">&lt;p&gt;Elina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;مدیاویکی با موفقیت نصب شد.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
برای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی به [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents فهرست راهنمای کاربر] مراجعه کنید.&lt;br /&gt;
&lt;br /&gt;
== آغاز به کار ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های متداول مدیاویکی]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ فهرست ایمیلی نسخه‌های مدیاویکی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources بومی‌سازی مدیاویکی برای زبان شما]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam چگونگی مقابله با اسپم در ویکی خودتان را یاد بگیرید]&lt;br /&gt;
Git&lt;br /&gt;
Git چیست؟&lt;br /&gt;
&lt;br /&gt;
Git یک سیستم کنترل نسخه (Version Control System) است که برای مدیریت تغییرات فایل‌ها و پروژه‌ها استفاده می‌شود. Git به برنامه‌نویسان و تیم‌های توسعه کمک می‌کند تا تغییرات پروژه را ثبت کنند، به نسخه‌های قبلی برگردند و هم‌زمان روی یک پروژه کار کنند.&lt;br /&gt;
&lt;br /&gt;
Git بیشتر در پروژه‌های برنامه‌نویسی، طراحی سایت و توسعه نرم‌افزار استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
Git چه کاربردی دارد؟&lt;br /&gt;
&lt;br /&gt;
مهم‌ترین کاربردهای Git عبارت‌اند از:&lt;br /&gt;
&lt;br /&gt;
ثبت تغییرات فایل‌ها و پروژه&lt;br /&gt;
مشاهده تاریخچه تغییرات&lt;br /&gt;
بازگشت به نسخه‌های قبلی&lt;br /&gt;
ایجاد شاخه‌های مختلف برای توسعه قابلیت‌های جدید&lt;br /&gt;
ادغام تغییرات چند شاخه&lt;br /&gt;
همکاری چند نفر روی یک پروژه&lt;br /&gt;
اتصال پروژه به سرویس‌هایی مانند GitHub، GitLab و Bitbucket&lt;br /&gt;
نگهداری نسخه‌های مختلف یک پروژه&lt;br /&gt;
مفاهیم اصلی Git&lt;br /&gt;
&lt;br /&gt;
قبل از یادگیری دستورات Git بهتر است چند مفهوم اصلی را بشناسیم.&lt;br /&gt;
&lt;br /&gt;
Repository&lt;br /&gt;
&lt;br /&gt;
مخزن یا Repository محلی است که Git اطلاعات مربوط به پروژه و تاریخچه تغییرات آن را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
یک Repository می‌تواند روی کامپیوتر یا روی سرویس‌هایی مانند GitHub قرار داشته باشد.&lt;br /&gt;
&lt;br /&gt;
Commit&lt;br /&gt;
&lt;br /&gt;
هر بار که مجموعه‌ای از تغییرات را در Git ثبت می‌کنیم، یک Commit ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
هر Commit مانند یک نقطه در تاریخچه پروژه است و می‌توان اطلاعات تغییرات انجام‌شده را در آن مشاهده کرد.&lt;br /&gt;
&lt;br /&gt;
Branch&lt;br /&gt;
&lt;br /&gt;
Branch یا شاخه به ما اجازه می‌دهد بدون تغییر مستقیم نسخه اصلی پروژه، روی یک قابلیت یا تغییر جدید کار کنیم.&lt;br /&gt;
&lt;br /&gt;
برای مثال می‌توان یک Branch برای توسعه قابلیت جدید و یک Branch برای نسخه اصلی پروژه داشت.&lt;br /&gt;
&lt;br /&gt;
Merge&lt;br /&gt;
&lt;br /&gt;
از Merge برای ترکیب تغییرات یک Branch با Branch دیگر استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
Remote&lt;br /&gt;
&lt;br /&gt;
Remote به یک Repository که در یک محل دیگر، معمولاً روی اینترنت، قرار دارد گفته می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال Repository موجود در GitHub می‌تواند Remote پروژه محلی ما باشد.&lt;br /&gt;
&lt;br /&gt;
دستورات پایه Git&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
برای تبدیل یک پوشه به Repository از دستور زیر استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
بعد از اجرای این دستور، Git یک پوشه مخفی با نام .git ایجاد می‌کند.&lt;br /&gt;
&lt;br /&gt;
این پوشه اطلاعات مربوط به تاریخچه و تنظیمات Repository را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
برای مشاهده وضعیت فعلی پروژه استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
این دستور نشان می‌دهد:&lt;br /&gt;
&lt;br /&gt;
چه فایل‌هایی تغییر کرده‌اند&lt;br /&gt;
چه فایل‌هایی برای Commit آماده شده‌اند&lt;br /&gt;
چه فایل‌هایی هنوز توسط Git دنبال نمی‌شوند&lt;br /&gt;
در حال حاضر روی چه Branchای قرار داریم&lt;br /&gt;
git add&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تغییرات به مرحله آماده‌سازی (Staging Area) استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن یک فایل:&lt;br /&gt;
&lt;br /&gt;
git add index.html&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن چند فایل:&lt;br /&gt;
&lt;br /&gt;
git add index.html style.css script.js&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تمام تغییرات:&lt;br /&gt;
&lt;br /&gt;
git add .&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
برای ثبت تغییرات آماده‌شده در تاریخچه Git استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git commit -m &amp;quot;Add homepage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
عبارت داخل -m توضیح کوتاهی درباره تغییرات Commit است.&lt;br /&gt;
&lt;br /&gt;
بهتر است پیام Commit کوتاه، واضح و مرتبط با تغییرات باشد.&lt;br /&gt;
&lt;br /&gt;
git log&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تاریخچه Commitها استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
git log&lt;br /&gt;
&lt;br /&gt;
برای نمایش خلاصه‌تر:&lt;br /&gt;
&lt;br /&gt;
git log --oneline&lt;br /&gt;
&lt;br /&gt;
مثلاً:&lt;br /&gt;
&lt;br /&gt;
a83f21a Add homepage&lt;br /&gt;
52bc91d Fix navigation&lt;br /&gt;
19ac742 Initial commit&lt;br /&gt;
کار با Branch&lt;br /&gt;
مشاهده Branchها&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Branchهای موجود:&lt;br /&gt;
&lt;br /&gt;
git branch&lt;br /&gt;
ایجاد Branch جدید&lt;br /&gt;
git branch feature-login&lt;br /&gt;
&lt;br /&gt;
در این حالت یک Branch جدید ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
تغییر Branch&lt;br /&gt;
git switch feature-login&lt;br /&gt;
&lt;br /&gt;
همچنین در نسخه‌های قدیمی‌تر Git می‌توان از دستور زیر استفاده کرد:&lt;br /&gt;
&lt;br /&gt;
git checkout feature-login&lt;br /&gt;
ایجاد و ورود هم‌زمان به Branch&lt;br /&gt;
git switch -c feature-login&lt;br /&gt;
&lt;br /&gt;
این دستور یک Branch جدید ایجاد کرده و بلافاصله وارد آن می‌شود.&lt;br /&gt;
&lt;br /&gt;
حذف Branch&lt;br /&gt;
git branch -d feature-login&lt;br /&gt;
&lt;br /&gt;
اگر Branch هنوز Merge نشده باشد، Git ممکن است از حذف آن جلوگیری کند.&lt;br /&gt;
&lt;br /&gt;
اتصال Git به GitHub&lt;br /&gt;
&lt;br /&gt;
برای اتصال Repository محلی به یک Repository روی GitHub معمولاً ابتدا Remote اضافه می‌شود:&lt;br /&gt;
&lt;br /&gt;
git remote add origin https://github.com/USERNAME/REPOSITORY.git&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Remoteهای موجود:&lt;br /&gt;
&lt;br /&gt;
git remote -v&lt;br /&gt;
ارسال تغییرات به Remote&lt;br /&gt;
&lt;br /&gt;
برای ارسال Branch به Repository آنلاین:&lt;br /&gt;
&lt;br /&gt;
git push origin main&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها Branch اصلی با نام main است.&lt;br /&gt;
&lt;br /&gt;
برای اینکه Branch محلی برای Pushهای بعدی به Remote متصل شود:&lt;br /&gt;
&lt;br /&gt;
git push -u origin main&lt;br /&gt;
&lt;br /&gt;
پس از تنظیم اولیه، معمولاً می‌توان از:&lt;br /&gt;
&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
دریافت تغییرات از Remote&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
برای دریافت تغییرات جدید و ادغام آن‌ها با Branch فعلی:&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
یا:&lt;br /&gt;
&lt;br /&gt;
git pull origin main&lt;br /&gt;
git fetch&lt;br /&gt;
&lt;br /&gt;
برای دریافت اطلاعات و تغییرات Remote بدون ادغام مستقیم آن‌ها:&lt;br /&gt;
&lt;br /&gt;
git fetch&lt;br /&gt;
&lt;br /&gt;
تفاوت مهم این دو دستور این است که fetch تغییرات را دریافت می‌کند ولی آن‌ها را به Branch فعلی Merge نمی‌کند؛ در حالی که pull معمولاً دریافت و ادغام تغییرات را با هم انجام می‌دهد.&lt;br /&gt;
&lt;br /&gt;
برگرداندن تغییرات&lt;br /&gt;
git restore&lt;br /&gt;
&lt;br /&gt;
اگر فایلی را تغییر داده‌ای ولی هنوز آن را Commit نکرده‌ای، می‌توانی تغییرات آن را کنار بگذاری:&lt;br /&gt;
&lt;br /&gt;
git restore index.html&lt;br /&gt;
&lt;br /&gt;
برای خارج کردن یک فایل از Staging Area:&lt;br /&gt;
&lt;br /&gt;
git restore --staged index.html&lt;br /&gt;
git revert&lt;br /&gt;
&lt;br /&gt;
برای ایجاد یک Commit جدید که اثر یک Commit قبلی را برعکس می‌کند:&lt;br /&gt;
&lt;br /&gt;
git revert COMMIT_ID&lt;br /&gt;
&lt;br /&gt;
این روش معمولاً برای برگرداندن تغییرات در پروژه‌هایی که تاریخچه آن‌ها به اشتراک گذاشته شده مناسب‌تر است.&lt;br /&gt;
&lt;br /&gt;
git reset&lt;br /&gt;
&lt;br /&gt;
git reset می‌تواند HEAD و وضعیت Staging را تغییر دهد.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
git reset HEAD~1&lt;br /&gt;
&lt;br /&gt;
این دستور آخرین Commit را از حالت Commit خارج می‌کند، در حالی که تغییرات فایل‌ها باقی می‌مانند.&lt;br /&gt;
&lt;br /&gt;
دستور reset به‌خصوص در حالت‌های پیشرفته باید با دقت استفاده شود.&lt;br /&gt;
&lt;br /&gt;
مشاهده تفاوت تغییرات&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تغییراتی که هنوز Commit نشده‌اند:&lt;br /&gt;
&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تفاوت بین دو Commit:&lt;br /&gt;
&lt;br /&gt;
git diff COMMIT1 COMMIT2&lt;br /&gt;
کار با فایل‌های نادیده گرفته‌شده&lt;br /&gt;
&lt;br /&gt;
گاهی نمی‌خواهیم بعضی فایل‌ها وارد Repository شوند.&lt;br /&gt;
&lt;br /&gt;
برای این کار از فایل:&lt;br /&gt;
&lt;br /&gt;
.gitignore&lt;br /&gt;
&lt;br /&gt;
استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
node_modules/&lt;br /&gt;
.env&lt;br /&gt;
*.log&lt;br /&gt;
&lt;br /&gt;
در این مثال:&lt;br /&gt;
&lt;br /&gt;
پوشه node_modules نادیده گرفته می‌شود.&lt;br /&gt;
فایل .env نادیده گرفته می‌شود.&lt;br /&gt;
فایل‌های دارای پسوند .log نادیده گرفته می‌شوند.&lt;br /&gt;
دستورات مهم Git در یک جدول&lt;br /&gt;
دستور	کاربرد&lt;br /&gt;
git init	ایجاد Repository&lt;br /&gt;
git status	مشاهده وضعیت پروژه&lt;br /&gt;
git add	اضافه کردن تغییرات به Staging&lt;br /&gt;
git commit	ثبت تغییرات&lt;br /&gt;
git log	مشاهده تاریخچه&lt;br /&gt;
git branch	مدیریت Branchها&lt;br /&gt;
git switch	تغییر Branch&lt;br /&gt;
git merge	ادغام Branchها&lt;br /&gt;
git remote	مدیریت Remote&lt;br /&gt;
git clone	کپی کردن یک Repository&lt;br /&gt;
git push	ارسال تغییرات به Remote&lt;br /&gt;
git pull	دریافت و ادغام تغییرات&lt;br /&gt;
git fetch	دریافت اطلاعات Remote بدون Merge&lt;br /&gt;
git diff	مشاهده تفاوت تغییرات&lt;br /&gt;
git restore	برگرداندن تغییرات فایل&lt;br /&gt;
git revert	معکوس کردن یک Commit&lt;br /&gt;
git reset	تغییر وضعیت Commit/Stage&lt;br /&gt;
git tag	ایجاد Tag برای نسخه‌ها&lt;br /&gt;
یک مثال عملی&lt;br /&gt;
&lt;br /&gt;
فرض کنید یک سایت HTML ساخته‌ایم و می‌خواهیم آن را با Git مدیریت کنیم.&lt;br /&gt;
&lt;br /&gt;
ابتدا وارد پوشه پروژه می‌شویم:&lt;br /&gt;
&lt;br /&gt;
cd my-website&lt;br /&gt;
&lt;br /&gt;
سپس Repository را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
وضعیت پروژه را بررسی می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
فایل‌ها را به Staging اضافه می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git add .&lt;br /&gt;
&lt;br /&gt;
اولین Commit را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git commit -m &amp;quot;Initial website&amp;quot;&lt;br /&gt;
&lt;br /&gt;
حالا اگر فایل index.html را تغییر دهیم، می‌توانیم تغییرات را مشاهده کنیم:&lt;br /&gt;
&lt;br /&gt;
git diff&lt;br /&gt;
&lt;br /&gt;
سپس تغییرات را ثبت می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
git add index.html&lt;br /&gt;
git commit -m &amp;quot;Update homepage&amp;quot;&lt;br /&gt;
&lt;br /&gt;
به این ترتیب Git تاریخچه تغییرات سایت را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
روند معمول کار با Git&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها روند کار به شکل زیر است:&lt;br /&gt;
&lt;br /&gt;
تغییر فایل‌ها&lt;br /&gt;
     ↓&lt;br /&gt;
git status&lt;br /&gt;
     ↓&lt;br /&gt;
git add&lt;br /&gt;
     ↓&lt;br /&gt;
git commit&lt;br /&gt;
     ↓&lt;br /&gt;
git push&lt;br /&gt;
&lt;br /&gt;
اگر پروژه دارای Repository آنلاین باشد، برای دریافت تغییرات جدید معمولاً ابتدا:&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
نکته مهم&lt;br /&gt;
&lt;br /&gt;
Git و GitHub یکی نیستند.&lt;br /&gt;
&lt;br /&gt;
Git یک سیستم کنترل نسخه است که روی کامپیوتر اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
GitHub یک سرویس آنلاین برای میزبانی Repositoryهای Git و همکاری روی پروژه‌هاست.&lt;br /&gt;
&lt;br /&gt;
به زبان ساده:&lt;br /&gt;
&lt;br /&gt;
Git = مدیریت نسخه‌ها&lt;br /&gt;
GitHub = میزبانی و همکاری آنلاین&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
	<entry>
		<id>https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=2</id>
		<title>صفحهٔ اصلی</title>
		<link rel="alternate" type="text/html" href="https://wiki.elinakaravi.ir/index.php?title=%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=2"/>
		<updated>2026-09-06T06:08:17Z</updated>

		<summary type="html">&lt;p&gt;Elina: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;مدیاویکی با موفقیت نصب شد.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
برای اطلاعات بیشتر در مورد به‌کارگیری نرم‌افزار ویکی به [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents فهرست راهنمای کاربر] مراجعه کنید.&lt;br /&gt;
&lt;br /&gt;
== آغاز به کار ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings فهرست تنظیمات پیکربندی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ پرسش‌های متداول مدیاویکی]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ فهرست ایمیلی نسخه‌های مدیاویکی]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources بومی‌سازی مدیاویکی برای زبان شما]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam چگونگی مقابله با اسپم در ویکی خودتان را یاد بگیرید]&lt;br /&gt;
# Git&lt;br /&gt;
&lt;br /&gt;
## Git چیست؟&lt;br /&gt;
&lt;br /&gt;
**Git** یک سیستم کنترل نسخه (Version Control System) است که برای مدیریت تغییرات فایل‌ها و پروژه‌ها استفاده می‌شود. Git به برنامه‌نویسان و تیم‌های توسعه کمک می‌کند تا تغییرات پروژه را ثبت کنند، به نسخه‌های قبلی برگردند و هم‌زمان روی یک پروژه کار کنند.&lt;br /&gt;
&lt;br /&gt;
Git بیشتر در پروژه‌های برنامه‌نویسی، طراحی سایت و توسعه نرم‌افزار استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
## Git چه کاربردی دارد؟&lt;br /&gt;
&lt;br /&gt;
مهم‌ترین کاربردهای Git عبارت‌اند از:&lt;br /&gt;
&lt;br /&gt;
* ثبت تغییرات فایل‌ها و پروژه&lt;br /&gt;
* مشاهده تاریخچه تغییرات&lt;br /&gt;
* بازگشت به نسخه‌های قبلی&lt;br /&gt;
* ایجاد شاخه‌های مختلف برای توسعه قابلیت‌های جدید&lt;br /&gt;
* ادغام تغییرات چند شاخه&lt;br /&gt;
* همکاری چند نفر روی یک پروژه&lt;br /&gt;
* اتصال پروژه به سرویس‌هایی مانند GitHub، GitLab و Bitbucket&lt;br /&gt;
* نگهداری نسخه‌های مختلف یک پروژه&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# مفاهیم اصلی Git&lt;br /&gt;
&lt;br /&gt;
قبل از یادگیری دستورات Git بهتر است چند مفهوم اصلی را بشناسیم.&lt;br /&gt;
&lt;br /&gt;
### Repository&lt;br /&gt;
&lt;br /&gt;
مخزن یا **Repository** محلی است که Git اطلاعات مربوط به پروژه و تاریخچه تغییرات آن را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
یک Repository می‌تواند روی کامپیوتر یا روی سرویس‌هایی مانند GitHub قرار داشته باشد.&lt;br /&gt;
&lt;br /&gt;
### Commit&lt;br /&gt;
&lt;br /&gt;
هر بار که مجموعه‌ای از تغییرات را در Git ثبت می‌کنیم، یک **Commit** ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
هر Commit مانند یک نقطه در تاریخچه پروژه است و می‌توان اطلاعات تغییرات انجام‌شده را در آن مشاهده کرد.&lt;br /&gt;
&lt;br /&gt;
### Branch&lt;br /&gt;
&lt;br /&gt;
**Branch** یا شاخه به ما اجازه می‌دهد بدون تغییر مستقیم نسخه اصلی پروژه، روی یک قابلیت یا تغییر جدید کار کنیم.&lt;br /&gt;
&lt;br /&gt;
برای مثال می‌توان یک Branch برای توسعه قابلیت جدید و یک Branch برای نسخه اصلی پروژه داشت.&lt;br /&gt;
&lt;br /&gt;
### Merge&lt;br /&gt;
&lt;br /&gt;
از **Merge** برای ترکیب تغییرات یک Branch با Branch دیگر استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
### Remote&lt;br /&gt;
&lt;br /&gt;
Remote به یک Repository که در یک محل دیگر، معمولاً روی اینترنت، قرار دارد گفته می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال Repository موجود در GitHub می‌تواند Remote پروژه محلی ما باشد.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# دستورات پایه Git&lt;br /&gt;
&lt;br /&gt;
## git init&lt;br /&gt;
&lt;br /&gt;
برای تبدیل یک پوشه به Repository از دستور زیر استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git init&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
بعد از اجرای این دستور، Git یک پوشه مخفی با نام `.git` ایجاد می‌کند.&lt;br /&gt;
&lt;br /&gt;
این پوشه اطلاعات مربوط به تاریخچه و تنظیمات Repository را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git status&lt;br /&gt;
&lt;br /&gt;
برای مشاهده وضعیت فعلی پروژه استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git status&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
این دستور نشان می‌دهد:&lt;br /&gt;
&lt;br /&gt;
* چه فایل‌هایی تغییر کرده‌اند&lt;br /&gt;
* چه فایل‌هایی برای Commit آماده شده‌اند&lt;br /&gt;
* چه فایل‌هایی هنوز توسط Git دنبال نمی‌شوند&lt;br /&gt;
* در حال حاضر روی چه Branchای قرار داریم&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git add&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تغییرات به مرحله آماده‌سازی (Staging Area) استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن یک فایل:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git add index.html&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن چند فایل:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git add index.html style.css script.js&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای اضافه کردن تمام تغییرات:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git add .&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git commit&lt;br /&gt;
&lt;br /&gt;
برای ثبت تغییرات آماده‌شده در تاریخچه Git استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git commit -m &amp;quot;Add homepage&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
عبارت داخل `-m` توضیح کوتاهی درباره تغییرات Commit است.&lt;br /&gt;
&lt;br /&gt;
بهتر است پیام Commit کوتاه، واضح و مرتبط با تغییرات باشد.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git log&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تاریخچه Commitها استفاده می‌شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git log&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای نمایش خلاصه‌تر:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git log --oneline&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
مثلاً:&lt;br /&gt;
&lt;br /&gt;
```text&lt;br /&gt;
a83f21a Add homepage&lt;br /&gt;
52bc91d Fix navigation&lt;br /&gt;
19ac742 Initial commit&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# کار با Branch&lt;br /&gt;
&lt;br /&gt;
## مشاهده Branchها&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Branchهای موجود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git branch&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## ایجاد Branch جدید&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git branch feature-login&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
در این حالت یک Branch جدید ایجاد می‌شود.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## تغییر Branch&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git switch feature-login&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
همچنین در نسخه‌های قدیمی‌تر Git می‌توان از دستور زیر استفاده کرد:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git checkout feature-login&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## ایجاد و ورود هم‌زمان به Branch&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git switch -c feature-login&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
این دستور یک Branch جدید ایجاد کرده و بلافاصله وارد آن می‌شود.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## حذف Branch&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git branch -d feature-login&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
اگر Branch هنوز Merge نشده باشد، Git ممکن است از حذف آن جلوگیری کند.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# اتصال Git به GitHub&lt;br /&gt;
&lt;br /&gt;
برای اتصال Repository محلی به یک Repository روی GitHub معمولاً ابتدا Remote اضافه می‌شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git remote add origin https://github.com/USERNAME/REPOSITORY.git&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای مشاهده Remoteهای موجود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git remote -v&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# ارسال تغییرات به Remote&lt;br /&gt;
&lt;br /&gt;
برای ارسال Branch به Repository آنلاین:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git push origin main&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها Branch اصلی با نام `main` است.&lt;br /&gt;
&lt;br /&gt;
برای اینکه Branch محلی برای Pushهای بعدی به Remote متصل شود:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git push -u origin main&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
پس از تنظیم اولیه، معمولاً می‌توان از:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git push&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
استفاده کرد.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# دریافت تغییرات از Remote&lt;br /&gt;
&lt;br /&gt;
## git pull&lt;br /&gt;
&lt;br /&gt;
برای دریافت تغییرات جدید و ادغام آن‌ها با Branch فعلی:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git pull&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
یا:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git pull origin main&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git fetch&lt;br /&gt;
&lt;br /&gt;
برای دریافت اطلاعات و تغییرات Remote بدون ادغام مستقیم آن‌ها:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git fetch&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
تفاوت مهم این دو دستور این است که `fetch` تغییرات را دریافت می‌کند ولی آن‌ها را به Branch فعلی Merge نمی‌کند؛ در حالی که `pull` معمولاً دریافت و ادغام تغییرات را با هم انجام می‌دهد.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# برگرداندن تغییرات&lt;br /&gt;
&lt;br /&gt;
## git restore&lt;br /&gt;
&lt;br /&gt;
اگر فایلی را تغییر داده‌ای ولی هنوز آن را Commit نکرده‌ای، می‌توانی تغییرات آن را کنار بگذاری:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git restore index.html&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای خارج کردن یک فایل از Staging Area:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git restore --staged index.html&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git revert&lt;br /&gt;
&lt;br /&gt;
برای ایجاد یک Commit جدید که اثر یک Commit قبلی را برعکس می‌کند:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git revert COMMIT_ID&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
این روش معمولاً برای برگرداندن تغییرات در پروژه‌هایی که تاریخچه آن‌ها به اشتراک گذاشته شده مناسب‌تر است.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## git reset&lt;br /&gt;
&lt;br /&gt;
`git reset` می‌تواند HEAD و وضعیت Staging را تغییر دهد.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git reset HEAD~1&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
این دستور آخرین Commit را از حالت Commit خارج می‌کند، در حالی که تغییرات فایل‌ها باقی می‌مانند.&lt;br /&gt;
&lt;br /&gt;
دستور `reset` به‌خصوص در حالت‌های پیشرفته باید با دقت استفاده شود.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# مشاهده تفاوت تغییرات&lt;br /&gt;
&lt;br /&gt;
## git diff&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تغییراتی که هنوز Commit نشده‌اند:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git diff&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
برای مشاهده تفاوت بین دو Commit:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git diff COMMIT1 COMMIT2&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# کار با فایل‌های نادیده گرفته‌شده&lt;br /&gt;
&lt;br /&gt;
گاهی نمی‌خواهیم بعضی فایل‌ها وارد Repository شوند.&lt;br /&gt;
&lt;br /&gt;
برای این کار از فایل:&lt;br /&gt;
&lt;br /&gt;
```text&lt;br /&gt;
.gitignore&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
برای مثال:&lt;br /&gt;
&lt;br /&gt;
```gitignore&lt;br /&gt;
node_modules/&lt;br /&gt;
.env&lt;br /&gt;
*.log&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
در این مثال:&lt;br /&gt;
&lt;br /&gt;
* پوشه `node_modules` نادیده گرفته می‌شود.&lt;br /&gt;
* فایل `.env` نادیده گرفته می‌شود.&lt;br /&gt;
* فایل‌های دارای پسوند `.log` نادیده گرفته می‌شوند.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# دستورات مهم Git در یک جدول&lt;br /&gt;
&lt;br /&gt;
| دستور         | کاربرد                           |&lt;br /&gt;
| ------------- | -------------------------------- |&lt;br /&gt;
| `git init`    | ایجاد Repository                 |&lt;br /&gt;
| `git status`  | مشاهده وضعیت پروژه               |&lt;br /&gt;
| `git add`     | اضافه کردن تغییرات به Staging    |&lt;br /&gt;
| `git commit`  | ثبت تغییرات                      |&lt;br /&gt;
| `git log`     | مشاهده تاریخچه                   |&lt;br /&gt;
| `git branch`  | مدیریت Branchها                  |&lt;br /&gt;
| `git switch`  | تغییر Branch                     |&lt;br /&gt;
| `git merge`   | ادغام Branchها                   |&lt;br /&gt;
| `git remote`  | مدیریت Remote                    |&lt;br /&gt;
| `git clone`   | کپی کردن یک Repository           |&lt;br /&gt;
| `git push`    | ارسال تغییرات به Remote          |&lt;br /&gt;
| `git pull`    | دریافت و ادغام تغییرات           |&lt;br /&gt;
| `git fetch`   | دریافت اطلاعات Remote بدون Merge |&lt;br /&gt;
| `git diff`    | مشاهده تفاوت تغییرات             |&lt;br /&gt;
| `git restore` | برگرداندن تغییرات فایل           |&lt;br /&gt;
| `git revert`  | معکوس کردن یک Commit             |&lt;br /&gt;
| `git reset`   | تغییر وضعیت Commit/Stage         |&lt;br /&gt;
| `git tag`     | ایجاد Tag برای نسخه‌ها           |&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# یک مثال عملی&lt;br /&gt;
&lt;br /&gt;
فرض کنید یک سایت HTML ساخته‌ایم و می‌خواهیم آن را با Git مدیریت کنیم.&lt;br /&gt;
&lt;br /&gt;
ابتدا وارد پوشه پروژه می‌شویم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
cd my-website&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
سپس Repository را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git init&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
وضعیت پروژه را بررسی می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git status&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
فایل‌ها را به Staging اضافه می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git add .&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
اولین Commit را ایجاد می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git commit -m &amp;quot;Initial website&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
حالا اگر فایل `index.html` را تغییر دهیم، می‌توانیم تغییرات را مشاهده کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git diff&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
سپس تغییرات را ثبت می‌کنیم:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git add index.html&lt;br /&gt;
git commit -m &amp;quot;Update homepage&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
به این ترتیب Git تاریخچه تغییرات سایت را نگهداری می‌کند.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# روند معمول کار با Git&lt;br /&gt;
&lt;br /&gt;
در بسیاری از پروژه‌ها روند کار به شکل زیر است:&lt;br /&gt;
&lt;br /&gt;
```text&lt;br /&gt;
تغییر فایل‌ها&lt;br /&gt;
     ↓&lt;br /&gt;
git status&lt;br /&gt;
     ↓&lt;br /&gt;
git add&lt;br /&gt;
     ↓&lt;br /&gt;
git commit&lt;br /&gt;
     ↓&lt;br /&gt;
git push&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
اگر پروژه دارای Repository آنلاین باشد، برای دریافت تغییرات جدید معمولاً ابتدا:&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
git pull&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# نکته مهم&lt;br /&gt;
&lt;br /&gt;
Git و GitHub یکی نیستند.&lt;br /&gt;
&lt;br /&gt;
**Git** یک سیستم کنترل نسخه است که روی کامپیوتر اجرا می‌شود.&lt;br /&gt;
&lt;br /&gt;
**GitHub** یک سرویس آنلاین برای میزبانی Repositoryهای Git و همکاری روی پروژه‌هاست.&lt;br /&gt;
&lt;br /&gt;
به زبان ساده:&lt;br /&gt;
&lt;br /&gt;
```text&lt;br /&gt;
Git = مدیریت نسخه‌ها&lt;br /&gt;
GitHub = میزبانی و همکاری آنلاین&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Elina</name></author>
	</entry>
</feed>