مشخصات مقاله
-
373
-
0.0
-
3626
-
0
-
0
دستور Commit در Git
commit در Git
حالا که پروژه آماده است، از مرحله Stage به مرحله commit کردن repo خود میرسیم.
اضافه کردن commit ها در نگهداری مراحل پیشرفت و تغییر پروژه به ما کمک میکند. از نظر Git، هر commit یک “saving point” محسوب میشود که میتوانید در صورت نیاز و یا مواجهه با مشکلی در پروژه، به آن بازگردید.
در مرحله commit باید یک پیام به پروژه خود اضافه کنیم.
با اضافه کردن پیامی واضح برای هر commit، مشاهده تغییرات و زمان آنها ( برای خودمان و بقیه) بسیار ساده خواهد شد.
git commit -m "First release of Hello World!"
[master (root-commit) 221ec6e] First release of Hello World!
3 files changed, 26 insertions(+)
create mode 100644 README.md
create mode 100644 bluestyle.css
create mode 100644 index.html
دستور commit ، commit را انجام داده و دستور –m ( message) پیام را اضافه میکند.
محیط stage حالا به repo ما commit شده است و پیام موجود “First release of Hello World” میباشد.
Commit بدون Stage
گاهی اوقات، که تغییر ایجاد شده بر پروژه بسیار کوچک است، مرحله stage ضروری نبوده و زمان زیادی نیز صرف خواهد کرد. در این مواقع، میتوان بدون گذر از مرحله stage ، تغییرات ایجاد شده بر پروژه را commit کرد. گزینه –a ، تغییرات ایجاد شده در یک فایل tracked شده را ، به شکل اتوماتیک ، stage خواهد کرد.
بیایید بخش کوچکی به پروژه مان اضافه کنیم:
Hello World! Hello world!
This is the first file in my new Git Repo.
A new line in our file!
و وضعیت repository مان را بررسی کنیم. اما این بار با استفاده از میان بر - - تغییرات را به شکل فشرده خواهیم دید:
git status --short
M index.html
?? - فایل های Untracked
A - فایل های اضافه شده به Stage
M - فایل های ویرایش شده
D - فایل های حذف شد
مشاهده میشود که فایل مورد نظر مان ویرایش شده است. حالا آن را مستقیما commit میکنیم:
git commit -a -m "Updated index.html with a new line"
[master 09f4acd] Updated index.html with a new line
1 file changed, 1 insertion(+)
به طور کلی حذف مرحله stage توصیه نمیشود زیرا ممکن است تغییرات ناخواسته ای در پروژه شما ایجاد کند.
Commit Log
برای مشاهده تاریخچه تغییرات repository، میتوانید از دستور log استفاده کنید:
git log
commit 09f4acd3f8836b7f6fc44ad9e012f82faf861803 (HEAD -> master)
Author: w3schools-test Date: Fri Mar 26 09:35:54 2021 +0100 Updated index.html with a new line commit 221ec6e10aeedbfd02b85264087cd9adc18e4b26 Author: w3schools-test Date: Fri Mar 26 09:13:07 2021 +0100 First release of Hello World!