Skip to content

Latest commit

 

History

History
433 lines (356 loc) · 26.4 KB

READMEir.md

File metadata and controls

433 lines (356 loc) · 26.4 KB

دستورات گیت و توضیحات

توضیحات

دستورات گیت به همراه توضیحات مختصر آنها در این ریپوزیتوری فهرست می شوند؛ از ترجمه به زبانهای دیگر استفبال می شود.  




create-an-empty-git-repository

دستورات توضیحات
git init معرفی کردن پروژه به گیت یا اینیشیالایز کردن آن (ایجاد یک ریپوزیتوری یا مخزن خالی در لوکال شما)
git مشاهده ی دستورات گیت

برو به فهرست👆


git-status

دستورات توضیحات
git status ( working directory - staging area - head ) مشاهده ی موقعیت فعلی فایل های پروژه؛
git status --short مشاهده ی موقعیت فعلی فایل های پروژه به صورت خلاصه شده
git status -s مشاهده ی موقعیت فعلی فایل های پروژه به صورت خلاصه شده

برو به فهرست👆     مبحث قبلی👈


git-add

دستورات توضیحات
git add [file-name] [staging area] فایل مورد نظر را می برد به مرحله ی
git add . [staging area] تمامی فایل ها و تغییرات پروژه را می برد به مرحله ی
git add -A [staging area] همانند دستور قبلی تمامی فایل ها و تغییرات پروژه را می برد به مرحله ی
git add *.AnExtension -> git add *.css [staging area] تمامی فایل هایی که پسوند مورد نظر را داشته باشند را می برد به مرحله ی

برو به فهرست👆     مبحث قبلی👈


git-rm

دستورات توضیحات
git rm [file name] or git rm -r [file name] فایل مورد نظر را از پروژه حذف می کند
git rm -- *.AnExtension -> git rm -- *.py تمامی فایل هایی که پسوند مورد نظر را داشته باشند از پروژه حذف می کند
git rm --cached --ignore-unmatch *.js [working directory] تمامی فایل های با پسوند مورد نظر را می برد به مرحله ی
git rm --cached [file name] -> git rm --cached . [working directory] تمامی فایل های با پسوند مورد نظر را نادیده گرفته و می برد به
git rm -rf --cached . [working directory] تمامی فایل ها را از ریپوزیرتوری لوکال می برد به مرحله ی

برو به فهرست👆     مبحث قبلی👈


git-commit

دستورات توضیحات
git commit -m [message] فایل های پروژه که در مرحله ی استیجینگ قرار دارند را با یک پیغام مرتبط به مرحله ی نهایی یا هد، مخزن یا ریپوزیتوری می برد (From staging area to HEAD or repositories)
git commit -am [message] or git commit -a -m [message] فایل هایی که از قبل در پروژه ساخته شده اند و تغییر پیدا می کنند را مستقیماً به مرحله ی ریپوزیتوری یا هد می برد
new file --> git add "file name" --> git commit -m "message"
modified file --> git commit -am "message" --> git commit -a -m "message"
git commit --amend -m [message] تغییر نام آخرین کامیت
git commit --amend -am [message] or git commit --amend -a -m [message] آخرین تغییرات لوکال یا working directory را به آخرین کامیت اضافه می کند

برو به فهرست👆     مبحث قبلی👈


git-tag

دستورات توضیحات
git tag or git tag -l تگ برای ورژن بندی پروژه استفاده می شود که این دستور، لیست تگ های درون پروژه را نمایش می دهد و اگر تگی وجود نداشته باشد، خروجی هم نخواهیم داشت
git tag [tag name] -> git tag 3.12.0 اگر یک ورژن یا نام بخصوصی روبروی دستور قرار دهیم آن را برای آخرین کامیت در نظر می گیرد
git tag 3.13.0 [commit-hash] -> git tag v5.2.0 6d2ef95 با قرار دادن ورژن یا نام برای تگ بعلاوه ی کد هش کامیت مورد نظر می توانیم برای کامیت هایمان تگ بگذاریم
git show [tag name] -> git show 3.13.2 برای مشاهده ی تغییرات درون هر تگ استفاده می کنیم
git tag -d [tag name] -> git tag -d 3.12.2 برای حذف تگ از این دستور استفاده می کنیم
git tag -f [tag name] [commit-hash] -> git tag -f v2.1.1 6d2ef95 ک زمانی یک تگی را اشتباهی به یک کامیت دیگر منتسب میکنیم که برای رفع این اشکال از این دستور استفاده میکنیم که می آید نام تگ را از روی کامیت قبلی برداشته و روی کامیت جدید می گذارد
git tag -l '13.*' - git tag -l '*.0' - git tag -l '*.1.*' برای سرچ در تگ ها استفاده می کنیم که در مورد اول گفته ایم تگهایی که ابتدای آنها با فلان مشخصات شروع می شود و بعد از آن هر چیزی باشد در مورد دوم گفته ایم تگ هایی را بیاور که آخر آنها صفر داشته باشد و قبل از آن هر چیزی باشد و در مورد سوم گفته ایم که تگ هایی را بیاور عدد وصط آنها یک باشد و قبل و بعد آن هر چیزی باشد

برو به فهرست👆     مبحث قبلی👈


git-log

دستورات توضیحات
git log تغییرات و کامیت های پروژه را بر می گرداند که در خروجی می توان نام و ایمیل نویسنده، تاریخ و ساعت درج کامیت را مشاهده کرد
git log --oneline تغییرات و کامیت های پروژه را به صورت خلاصه شده و کوتاه بر می گرداند
git log --oneline --all [origin] و [head] مشاهده ی تمامی کامیت ها و دیدن موقعیت
git log --stat تغییرات پروژه را به صورت خیلی کاملتری نمایش می دهد؛ به طوری که می توان نام و ایمیل نویسنده، تاریخ و ساعت درج کامیت و همچنین تعداد فایل های تغییر یافته و تعداد خط کدهایی که به فایل تغییر یافته اضافه یا کم شده اند را نمایش می دهد
git log --graph اطلاعات کامیت ها را به صورت گرافیکی نمایش می دهد
git log --graph --oneline اطلاعات کامیت ها را به صورت گرافیکی ولی جزئی تر و خلاصه تر برمیگرداند
git log --after="25-10-12" کامیت های بعد از یک تاریخ مشخص را بر میگرداند
git log --before="25-10-12" کامیت های قبل از یک تاریخ مشخص را بر میگرداند
git log --author="user-name" کامیت های نویسنده یا یوزر مورد نظر به همراه تاریخ و ساعت درج آنها را بر می گرداند

برو به فهرست👆     مبحث قبلی👈


دستورات توضیحات
git blame [file name]

یک زمانی میخواهیم بدانیم که کدهای یک قسمت پروژه، مثلاً در یک فایل خاص، توسط چه کسی نوشته شده اند که برای این کار، از این دستور استفاده می کنیم که نام نویسنده به همراه تاریخ درج و ساعت کامیت را نمایش میدهد

git blame -e [file name] -> git blame -e python.py

یک زمانی میخواهیم بدانیم که کدهای یک قسمت پروژه، مثلاً در یک فایل خاص، توسط چه کسی نوشته شده اند که برای این کار، از این دستور استفاده می کنیم که ایمیل نویسنده به همراه تاریخ درج و ساعت کامیت را نمایش میدهد

git blame [file name] -L [start-line],[end-line] -> git blame python.py -L 10,20

زمانی که بخواهیم بفهمیم کدهای مثلا از خط 10 تا 20 را در فلان فایل چه کسی نوشته است از این دستور استفاده می کنیم که در خروجی، نام، تاریخ درج کامیت و ساعت آن را مشاهده خواهیم کرد

git blame -L start-line,end-line [file-name]

زمانی که بخواهیم بفهمیم کدهای مثلا از خط 10 تا 20 را در فلان فایل چه کسی نوشته است از این دستور استفاده می کنیم که در خروجی، نام، تاریخ درج کامیت و ساعت آن را مشاهده خواهیم کرد



دستورات توضیحات
git show

تمامی تغییرات در آخرین کامیت را برمی گرداند؛ اینکه چند خط کد اضافه یا کم شده اند یا توسط چه کسی این تغییرات اعمال شده است

git show [commit-hash]

تغییرات کامیتی که id وارد شده مربوط به آن می باشد را بر می گرداند که برای مشاهده ی این id باید از دستور git log --oneline استفاده کرد

git show [commit-hash] --stat

تغییرات اعمال شده در کامیت مورد نظر را به صورت خلاصه شده به همراه مشخصات نویسنده نمایش می دهد

git show [commit-hash] --path

این دستور تفاوت های واقعی ایجاد شده در commit از جمله خطوط اضافه و حذف شده را نمایش می دهد

git show [tag name] -> git show 3.13.2

برای مشاهده ی تغییرات درون هر تگ استفاده می کنیم



دستورات توضیحات
git config --list

لیستی از تمام تنظیمات پیکر بندی را که در حال حاضر روی نسخه ی نصبی گیت شما وجود دارد را نمایش می دهد؛ مثل تنظیمات محلی، تنظیمات سراسری و تنظیمات سیستم

git config --local alias.[name] [command-name] -> `git config --local alias.com commit

با استفاده از این دستور می توانیم برای دستورات گیت درون لوکال خودمان، اسامی کوتاه تر و خلاصه انتخاب کنیم که در این دستور، کامند commit را به com خلاصه کرده ایم

git config --global alias.com commit

اگر بخواهیم از یک نام مستعار در تمامی پروژه هایمان استفاده کنیم به جای کلمه ی local از کلمه ی global استفاده میکنیم

git config --global user.name [your-name] & git config --global user.email [your-email]

تنظیم نام کاربری و یا ایمیل کاربری برای تمامی پروژه ها

git config --global user.name & git config --global user.email

مشاهده ی نام یا ایمیل کاربری که برای تمام پروژه ها انتخاب کرده ایم

git config user.name [your-name] & git config user.email [your-email]

تنظیم نام کاربری و یا ایمیل کاربری برای یک پروژه

git config user.name or git config user.email

مشاهده ی نام یا ایمیل کاربری که برای یک پروژه انتخاب کرده ایم



git branch :

نام برنچ ها یا شاخه های پروژه، و برنچی که درون آن قرار داریم را بر میگرداند


git branch -a :

لیست تمام برنچ ها را اعم از لوکال و ریموت بر می گرداند


git branch origin --delete <branch-name> :

برای حذف برنچ ریموت استفاده می شود


git branch <new-branch-name> :

از این دستور برای ایجاد یک برنچ یا شاخه ی جدید استفاده میکنیم


git switch <branch-name> :

سوئیچ کردن یا جابه جا شدن از یک برنچ به برنچ دیگر


git switch -c <new-branch-name> :

ساخت برنچ جدید و سوئیچ شدن به آن برنچ در لحظه


git branch -d <branch-name> :

برای حذف برنچی استفاده می شود که پس از ساخت هیچ تغییراتی درون آن صورت نگرفته و بلافاصله بخواهیم آن را حذف کنیم. اما اگر فایلی ساخته شد و کامیتی برای آن فایل در نظر گرفته شد، بعد از اجرای این دستور ما را راهنمایی می کند که برای حذف برنچ، از حرف D بزرگ استفاده کنید


git branch -D <branch-name> :

برای حذف شاخه یا برنچ مورد نظر استفاده می شود که در آن برنچ تغییرات و کامیت زده شده است

نباید برای حذف یک برنچ، درون خود آن برنچ باشیم؛ بلکه باید به برنچی دیگر سوئیچ کرده، سپس اقدام به حذف برنچ قبلی نماییم


git branch -m <new-name> or git branch -m <branch-name> <new-name> :

برای تغییر نام برنچ مورد نظر استفاده می شود که حرف -m مخفف modified است

برای تغییر نام حتماً باید درون همان برنچی باشیم که قصد تغییر نام آن را داریم

از روش دوم زمانی استفاده می شود که در یک برنچ دیگر باشیم (مثلاً master) و بخواهیم نام یک برنچ دیگر (مثلاً second_branch) را تغییر دهیم که دیگر نیازی به سوئیچ کردن در برنچی که میخواهیم نام آن را تغییر دهیم، نیست



git merge <branch-name> :

الحاق برنچ فرعی به برنچ اصلی

برای مرج کردن باید در برنچ اصلی یا master باشیم؛ و پس از اتمام عملیات باید برنچ فرعی را حذف کنیم


git merge <source-branch> <target-branch> -> git merge second main :

از این دستور زمانی استفاده می کنیم که بخواهیم بدون سوئیچ کردن به شاخه ی اصلی عملیات مرج را انجام دهیم



git stash or git stash save :

یک زمانی نیاز است که در برنچ فرعی یا اصلی یک سری تغییراتی ایجاد کنیم که بخواهیم بعدا آن تغییرات را به پروژه اضافه یا اعمال کنیم؛ برای این کار نیاز به یک چرک نویس یا یک جعبه یا لیست است که تغییرات را درون خود نگه داری کند تا زمانی که بخواهیم از آنها استفاده کنیم


git stash save <message> :

زمانی که چندین استش داریم می توانیم برای مدیریت بهتر، برای آنها نام یا پیامی در نظر بگیریم


git stash show :

اطلاعات کلی در مورد فایلی که استش روی آن صورت گرفته را برمی گرداند


git stash list :

لیست استش ها را بر می گرداند


git stash show stash@{1} :

پس از مشاهده ی لیست استش ها از id یا اندیس آنها برای دیدن خلاصه تغییرات استفاده می کنیم که در اینجا گفته ایم از لیست اسش ها اندیس یکم را برگردان


git stash show -p stash@{1} :

دیدن تغییرات روی استش مورد نظر با جزئیات بیشتر


git stash pop :

آخرین آیتم درون استش را بر می گرداند


git stash drop stash@{1} :

برای حذف استش مورد نظر استفاده می شود


git stash clear :

حذف تمامی استش ها به صورت یکجا


git stash apply :

شاید لازم باشد که از یک استش چندین بار استفاده شود و از آنجایی که پاپ آخرین آیتم را بر می دارد و استش از درون چرک نویس یا لیست حذف می شود، از این دستور استفاده می کنیم تا بتوانیم از استش مورد نظر چندین بار استفاده کنیم و اگر لیستی از استش ها بگیریم، خواهیم دید که استش مورد نظر هنوز وجود دارد



دستورات توضیحات
git diff مشاهده یا مقایسه ی تغییرات ورکینگ دایرکتوری با استیجینگ
git diff --name-only [branch-name] مشاهده ی فایل هایی که پس از یک کامیت خاص، تغییر کرده اند
git diff --staged مشاهده یا مقایسه ی آخرین کامیت به همراه تغییرات در مرحله ی استیجینگ
git diff head or [HEAD] مقایسه ی آخرین کامیت با ورکینگ دایرکتوری
git diff [first-hash-commit] [second-hash-commit] -> git diff 28344dc 85d9a5b or git diff 28344dc..85d9a5b مشاهده یا مقایسه ی تغییرات دو کامیت با یک دیگر
git diff 28344dc..85d9a5b [file-name] مشاهده یا مقایسه ی دو کامیت در یک فایل
git diff [first-branch] [second-branch] or git diff [first-branch]..[second-branch] مشاهده یا مقایسه ی تغییرات دو برنچ قبل از مرج شدن با هم
git diff HEAD^ HEAD مشاهده ی تفاوت بین نسخه ی فعلی و آخرین نسخه


updating