ap homework for getting to know Git and GitHub
اول وارد دسکتاپ یا یک فضای مشخص شده سپس
یک دیرکتوری (پوشه) خالی به نام ap-git-handson بسازید و وارد آن شوید.
cd ~/Desktop
mkdir ap-git-handsoncd ap-git-handson
با اجرای دستور git init دیرکتوری مذکور را تبدیل به یک Git Repository کنید.
git initبا اجرای دستور ls -al از وجود دیرکتوری به نام git. مطمئن شوید.
ls -a / -al به کمک یک Text Editor تحت ترمینال مانند Vim یک فایل متنی به نام hello.c بسازید.
vi hello.c /*or*/ vim hello.c /*or*/ nano hello.cداخل این فایل برنامه زیر را نوشته، فایل را ذخیره کرده و از محیط ادیتور خارج شوید.
#include <stdio.h>
int main() { printf("Hello, World!"); return 0; }
توجه: برای نوشتن در vim کلید i را زده و وارد حالت insert شوید
و برای جای گزاری متن کلید های contrl +shift +v را زده
حال برای ذخیره سازی اول با کلید esc از حالت insert خارج شده و با فشردن کلید w + q + : آن فایل را ذخیره کنید
سپس با اجرای دستور cat hello.c محتوای فایل را روی کنسول چاپ کنید.
cat hello.cبرای تمیز کردن ترمینال از دستور زیر استفاده میکنیم
clearبا اجرای دستور git status وضعیت فایلها در مخزن را مشاهده کنید.
git statusفایل hello.c را به محیط Staging Area در گیت اضافه کنید.
git add hello.cیک کامیت با پیام initial commit بسازید
git commit -m "initial commit"توجه : اگر بار اول است که از گیت استفاده میکنید باید یوزر و ایمل خود رو با دستور زیر بزنید :
git config user.name "your_username"
git config user.email "your_email"با اجرای دستور git log مطمئن شوید که کامیت شما ثبت شده است.
git log توجه: برای خارج شدن از صفحه log میتوان از کلید q استفاده کرد
برای نشان دادن log در ترمینال میتوان از دستور زیر استفاده کرد
git log > GitLog.txt && cat GitLog.txt && rm GitLog.txtبرای تمیز کردن ترمینال از دستور زیر استفاده میکنیم
clear
به وبسایت github.com رفته و یک اکانت برای خود بسازید و لاگین کنید. (در صورت مشکل برای ثبت نام و ورود، مشکل خود را در اینترنت جستجو کنید) سپس در بالا سمت چپ صفحه اصلی گیتهاب، روی دکمه New کلیک کنید و یک مخزن گیت ریموت به نام ap-git-handson روی اکانت گیتهاب خود بسازید. (نوع مخزن را Public انتخاب کنید که در دسترس عموم باشد، بخش Add a README file را تیک نزنید، بخشهای Add .gitignore و Choose a licence را هم روی None قرار دهید) در ادامه آدرس مخزن گیت راهدور خود (Remote Git Repository) را از صفحه بعد کپی کنید.
به محیط ترمینال خود بازگشته و مخزن محلی (Local Repository) خود را به مخزن راه دور (Remote Repository) متصل کنید و نام این مخزن راه دور را origin بگذارید:
git remote add origin YOUR_REMOTE_REPOSITORY_ADDRESSکامیتهای موجود در مخزن محلی خود را بر روی origin یا همان مخزن راه دور Push کنید.
git push origin mainتوجه: ممکن است نام برنچ اصلی شما main نباشد بلکه master باشد. برای رفع این مشکل علاوه برا این که کلمه main را به master تغیر داد میتوان از دستور زیر برنچ اصلی را به main تغیر داد :
git branch -M main
توجه : در اینجا از شما یوزر و پسورد میخواهد : که یوزر شما همان یوزر گیت هاب است و پسورد شما از یک توکن مدت دار ساخته میشود
طریقه ساخت این توکن : در صفحه گیت هاب به گوشه صفحه که اواتار یوزر است کلیک کنید سپس وارد پنجره تنطیمات شده و در لیس کناری به پایین رفته وDeveloper Settings باز کرده و سپس گزینه Personal access tokens را انتخاب میکنیم و در صفحه مورد نظر گزینه Generate new token حالت classic را انتخاب میکنیم سپس یک اسم انتخاب کرده و در قسمت پایین به این توکن دسترسی repo را میدهیم و در اخر صفحه Generate token را بزنید سپس توکن را در یک فایل ذخیره کنید
به صفحه GitHub برگشته و آن را Refresh کنید تا فایل ها و کامیتهای پوش شده را مشاهده کنید.
برای تمیز کردن ترمینال از دستور زیر استفاده میکنیم
clear
فایل hello.c را در صفحه گیتهاب باز کرده و تغییری در آن اعمال کرده و نهایتا آن را ذخیره کنید. ذخیره از طریق صفحهی گیتهاب به منزلهی یک کامیت جدید است.
به ترمینال برگشته و تغییراتی که از طریق صفحهی گیتهاب روی پروژه اعمال شده را Pull میکنیم:
git pull origin mainسپس برای اطمینان از pull شدن میتون از دستور زیر استفاده کرد :
cat hello.c
برای تمیز کردن ترمینال از دستور زیر استفاده میکنیم
clear
در محیط ترمینال یک شاخه (Branch) جدید به نام java-version ساخته و آن را Checkout کنید.
git branch java-version
git checkout java-version
یا با دستور ادغامی زیر هم یک branch بسازیم و chekout کنیم
git checkout -b java-version بعد از رفتن روی برنچ جدید، فایل hello.c را پاک کنید (توجه کنید که این فایل هم از Working Directory پاک شود و هم از Staging Area)
برای این کار میتوان از دو دستور زیر استفاده کنیم
git rm hello.crm hello.c
git add hello.cبرای اطمینان از حذف شدن درست فایل از دستور زیر استفاده میکنیم :
git statusبرای زیبای کار میتوان در این جا کامیت کرد :
git commit -m "delete hello.c"یک فایل جدید به نام Hello.java ساخته :
vim / vi / nano Hello.java و محتوای زیر را در آن کپی کنید:
class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}فایل را ذخیره کرده و ان را cat میکنیم
cat Hello.javaبرای تمیز کردن ترمینال از دستور زیر استفاده میکنیم
clear
در این جا با دستور
git add Hello.javaفایل Hello.java را به گیت اضافه میکنیم و سپس ان را کامیت میکنیم
git commit -m "add Hello.java"مجددا به برنچ اصلی برگشته
git checkout mainو برنچ java-version را روی آن ادغام (Merge) کنید.
git merge java-versionدر ترمینال فایل Hello.java به جای hello.c در برنج main امده ولی اگر صفحه گیت هاب خود را نگاه کنید متوجه میشوید که هنوز فایل hello.c در ان وجود دارد برای رفع این مشکل باید یک دور دستور زیر را اجرا کنید
git push origin main 





