بوابة الالتزام
بوابة الالتزام
نظرًا لأننا انتهينا من عملنا ، فنحن مستعدون للانتقال من stage
إلى commit
الريبو الخاص بنا.
إضافة الالتزامات تتبع تقدمنا وتغييراتنا أثناء عملنا. يعتبر Git كل commit
نقطة تغيير أو "نقطة حفظ". إنها نقطة في المشروع يمكنك الرجوع إليها إذا وجدت خطأً أو تريد إجراء تغيير.
عندما 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
الأمر بتنفيذ التزام ، ويضيف رسالة.-m "message"
تلتزم البيئة المرحلية بإعادة الشراء الخاصة بنا ، مع الرسالة:
"الإصدار الأول من Hello World!"
Git Commit بدون مرحلة
في بعض الأحيان ، عند إجراء تغييرات صغيرة ، يبدو استخدام بيئة التدريج مضيعة للوقت. من الممكن إجراء التغييرات مباشرة ، وتخطي بيئة التدريج. سيقوم -a
الخيار تلقائيًا بترتيب كل ملف تم تغييره وتم تعقبه بالفعل.
دعنا نضيف تحديثًا صغيرًا إلى index.html:
مثال
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link
rel="stylesheet" href="bluestyle.css">
</head>
<body>
<h1>Hello world!</h1>
<p>This is
the first file in my new Git Repo.</p>
<p>A new line in our file!</p>
</body>
</html>
وتحقق من حالة المستودع الخاص بنا. لكن هذه المرة ، سنستخدم الخيار القصير - لمعرفة التغييرات بطريقة أكثر إحكاما:
مثال
git status --short
M index.html
ملاحظة: أعلام الحالة القصيرة هي:
- ؟؟ - ملفات لم يتم تعقبها
- أ - تمت إضافة الملفات إلى الجزء الرئيسي
- م - الملفات المعدلة
- د- الملفات المحذوفة
نرى الملف الذي توقعناه تم تعديله. لذلك دعونا نلتزم بها مباشرة:
مثال
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(+)
تحذير: لا يوصى بتخطي البيئة المرحلية بشكل عام.
قد يؤدي تخطي خطوة المرحلة أحيانًا إلى تضمين تغييرات غير مرغوب فيها.
سجل Git Commit
لعرض محفوظات عمليات الإيداع الخاصة بالمستودع ، يمكنك استخدام log
الأمر:
مثال
git log
commit 09f4acd3f8836b7f6fc44ad9e012f82faf861803 (HEAD -> master)
Author: w3schools-test <[email protected]>
Date: Fri Mar 26 09:35:54 2021 +0100
Updated index.html with a new line
commit 221ec6e10aeedbfd02b85264087cd9adc18e4b26
Author: w3schools-test <[email protected]>
Date: Fri Mar 26 09:13:07 2021 +0100
First release of Hello World!