آموزش آپلود فایل در گیتهاب قدم به قدم و تصویری

ورود به هر فضای ناشناختهای برای من پر از سؤال و ابهام است. برای اینکه دست و پایم را گم نکنم درباره آن موضوع ساعتها در اینترنت جستوجو میکنم. مثل همین آپلود فایل در گیتهاب؛ اول فکر میکردم باید برنامهای نصب کنم، بعد گیج شدم که ریپازیتوری دیگر چیست و چرا هر آموزش، مسیر متفاوتی نشانم میدهد. کمکم معلوم شد همهچیز سادهتر از تصورات من است. کافی است یک حساب کاربری، یک پوشه که همان ریپازیتوری باشد و سه دکمه که پشت سر هم میزنیم را امتحان کنم. حالا همان مسیرِ سرراستی را که با آزمون و خطا پیدا کردم، اینجا قدمبهقدم و تصویری نوشتهام. اگر شما هم دغدغههای من را دارید در مطلب آموزش آپلود فایل در گیتهاب همراهم باشید.
مرحله صفر: ساخت حساب کاربری و ورود به گیتهاب
اگر هنوز حساب کاربری ندارید، به github.com بروید و روی Sign up بزنید؛ یک ایمیل، یک نام کاربری و یک رمز کافی است و ثبتنام رایگان است. بعد از تأیید ایمیل، با فرم Sign in وارد حساب شوید. برای آپلود فایل هیچ نیازی به نصب گیت، GitHub Desktop یا هیچ برنامهای نیست.
مرحله اول: کلیک کردن روی دکمه +
بعد از ورود، در نوار بالای صفحه سمت راست دکمهی + را میبینید. روی آن کلیک کنید تا منو باز شود و گزینهی New repository را انتخاب کنید.

مرحله دوم: ساخت ریپازیتوری
ریپازیتوری همان پوشه پروژه در گیتهاب است. در صفحهی Create a new repository نام پروژه را بنویسید و در پایان Create repository را بزنید. فراموش نکنید Repository name را کوتاه و انگلیسی بنویسید (مثل my-first-repo) · Description اختیاری · Public برای دیدهشدن توسط همه، Private برای دسترسی محدود · تیک Add a README file را بزنید.

مرحله سوم: تعیین آدرس هر صفحه
پس از ساخت، وارد صفحهی پروژه میشوید. درست بالای لیست فایلها دکمهی Add file قرار دارد؛ روی آن کلیک کنید. آدرس صفحهی هر پروژه به این شکل است:
github.com/username/repo-name

مرحله چهارم: آپلود فایل
از منوی بازشده دو گزینه میبینید: Create new file برای ساختن فایل متنی جدید و Upload files برای فرستادن فایل آماده از کامپیوتر. دومی را بزنید.

مرحله پنجم: انتخاب فایل
در صفحهی آپلود یک کادر خطچین هست. یا فایلها را با ماوس داخل کادر بکشید (Drag & Drop)، یا روی choose your files کلیک کنید و از پنجرهی سیستم انتخاب کنید. برای انتخاب چندتایی Ctrl و برای انتخاب پیوسته Shift را نگه دارید. کل یک پوشه را هم میتوانید بکشید؛ ساختار پوشهها حفظ میشود.

مرحله ششم: شناخت تنظیمات صفحه آپلود
شاخهی مقصد (پیشفرض main) و نوع کامیت دو انتخاب مهم شما هستند. حالت اول مستقیم روی main کامیت میکند؛ حالت دوم شاخهی تازه میسازد و Pull request باز میکند که برای کار تیمی بهتر است. هر فایل ۲۵ مگابایت و حداکثر ۱۰۰ فایل در هر بار آپلود سقف فعالیت شما است. پیش از کامیت میتوانید فایلهای انتخابشده را از لیست حذف کنید.

مرحله هفتم: کامیت کردن
در بخش Commit changes یک توضیح کوتاه بنویسید (مثلاً Add project files)، گزینهی Commit directly to the main branch را انتخاب و دکمهی سبز Commit changes را بزنید. ثبت این تغییر در تاریخچه پروژه کامیت و تقریبا ذخیره نهایی است. تا این دکمه را نزنید، فایلها فقط در مرورگر شما هستند و آپلود نشدهاند.
اگر میخواهید علاوهبر آپلود فایل، کار با شاخهها، مدیریت کامیتها، بازگرداندن تغییرات و همکاری روی پروژههای تیمی را هم یاد بگیرید، کافی است در دوره آموزش گیت و گیتهاب دانشکار شرکت کنید.

مرحله هشتم: دیدن فایلهای آپلودشده
به صفحهی ریپازیتوری برمیگردید و فایلها با پیام کامیت و زمان آپلود در لیست ظاهر میشوند. روی نام هر فایل کلیک کنید تا محتوایش را ببینید.

مرحله نهم: دانلود فایل
در صفحهی هر فایل، Download raw file نسخهی خام را دانلود میکند و Raw همان فایل را در مرورگر باز میکند. برای لینک مستقیم، روی Raw راستکلیک و Copy link address را بزنید. همان لینک Raw را میتوانید بهعنوان آدرس تصویر در سایت، وبلاگ یا مارکداون استفاده کنید.

مرحله دهم: ساخت پوشه
گیتهاب دکمه پوشه جدید ندارد؛ پوشه با نوشتن مسیر در نام فایل ساخته میشود. روی Add file و سپس Create new file بزنید و بعد در کادر نام، مسیر را با اسلش بنویسید، مثلاً images/photo.png. با کامیت، پوشهی images ساخته میشود. برای آپلود دستهای داخل یک پوشه، کافی است همان ساختار پوشه را از سیستم بکشید و رها کنید؛ گیتهاب مسیرها را حفظ میکند.

مرحله یازدهم: نشان عکس در README
برای اینکه تصویر آپلودشده در صفحهی اول پروژه دیده شود، فایل README.md را ویرایش کنید و از سینتکس مارکداون (images/photo.png) استفاده کنید. مسیر نسبی، فایل را از داخل همان ریپازیتوری میخواند. با پیشنمایش (تب Preview) میتوانید پیش از کامیت، نتیجه را ببینید. README اولین چیزی است که بازدیدکننده میبیند.

مرحله دوازدهم: جایگزین یا حذف کردن فایل
جایگزینی: فایلی با همان نام دوباره آپلود و کامیت کنید؛ نسخهی جدید جای قبلی را میگیرد و نسخهی قدیمی در تاریخچه میماند. حذف: فایل را باز کنید، منوی ⋯ را باز کنید و Delete file را بزنید و کامیت کنید. حذف فایل، آن را از شاخه برمیدارد اما در تاریخچه ریپازیتوری میماند. اگر فایل حساسی آپلود کردهاید، حذف ساده کافی نیست.

مرحله سیزدهم: دیدن تاریخچه و بازگرداندن نسخه
از دکمهی Commits (یا آدرس …/commits/main) همهی نسخهها را میبینید. با کلیک روی هر کامیت، دقیقاً همان تغییرات (Diff) نمایش داده میشود. برای برگرداندن یک کامیت، منوی ⋯ را باز کنید و Revert را بزنید. Revert یک کامیت تازه میسازد که اثر آن تغییر را خنثی میکند؛ تاریخچه پاک نمیشود، پس امنترین راه بازگردانی است.

مرحله چهاردهم: اضافه کردن افراد دیگر و دسترسی دادن
در Settings به بخش Collaborators بروید و Add people را بزنید. کافی است نام کاربری همکارتان را جستوجو کنید. سطحهای مختلف دسترسی عبارتاند از:
- Read: فقط دیدن
- Write: آپلود و کامیت، برای همکاری معمولی
- Maintain/Admin: تنظیمات و حذف پروژه
- برای ریپازیتوری پرایوت، همه همکاران بهصورت خودکار دسترسی میگیرند.
گیتهاب تنها پلتفرم مدیریت و همکاری روی پروژههای گیت نیست. گیتلب نیز امکاناتی برای میزبانی مخازن، مدیریت دسترسیها و همکاری تیمی ارائه میدهد که میتوانید از آن استفاده کنید.

مرحله پانزدهم: حذف کل ریپازیتوری
در صفحهی پروژه، تب Settings را باز کنید و تا انتها بروید تا Danger Zone را ببینید. روی Delete this repository کلیک کنید؛ گیتهاب نام کامل پروژه را میپرسد و بعد از تأیید همهچیز برای همیشه پاک میشود. حذف ریپازیتوری برگشتپذیر نیست. اگر فقط میخواهید دیده نشود، آن را Private کنید یا آرشیو بگیرید.
مرحله شانزدهم: آپلود با گیتهاب دسکتاپ
برنامهی رایگان GitHub Desktop را نصب کنید، با حساب گیتهاب وارد شوید و پروژه را Clone کنید. فایلها را داخل پوشهی پروژه بریزید؛ برنامه تغییرات را نشان میدهد. پیام کامیت را بنویسید، Commit to main و بعد Push origin را بزنید. از مزایای گیتهاب دسکتاپ میتوان به این اشاره کرد که بدون محدودیت ۲۵ مگابایتی وب، مدیریت چند فایل بزرگ، و امکان برگشت راحت است و مناسب کسانی است که نمیخواهند با خط فرمان کار کنند.
مرحله هفدهم: آپلود با خط فرمان گیت
گیت را نصب کنید و در پوشهی پروژه این چهار دستور را بزنید:
git clone · git add . · git commit -m “پیام” · git push origin main.
دفعهی اول باید نام و ایمیل تنظیم شود (git config –global user.name و user.email) و برای push از توکن یا SSH استفاده میشود، نه رمز عبور. دستورهای بالا فقط بخشی از فرمانهای پرکاربرد Git هستند. برای آشنایی با دستورهایی مثل branch، pull، merge و reset و یادگیری کاربرد هرکدام، مقاله دستورات گیت را مطالعه کنید.
مرحله هجدهم: انتشار پروژه با GitHub Pages
اگر فایلهای یک سایت ایستا (HTML/CSS/جاوااسکریپت) را آپلود کردهاید، از Settings به بخش Pages بروید و شاخهی main را انتخاب کنید. گیتهاب سایت را میسازد و آدرسی مثل username.github.io/my-first-repo میدهد. بعد از هر کامیت، سایت خودکار بهروز میشود. رایگان و برای نمونهکار و پروژههای شخصی عالی است.
اگر میخواهید از GitHub Pages برای نمایش نمونهکارهای خود استفاده کنید، میتوانید ابتدا با بررسی نمونه پروژههای فرانتاند ایده بگیرید و سپس پروژههای خود را در گیتهاب منتشر کنید.

مرحله نوزدهم: آپلود بدون موبایل و با کامپیوتر
همان مسیر در مرورگر گوشی هم کار میکند: صفحهی پروژه را باز کنید، Add file گزینه Upload files را بزنید و از گالری یا فایلهای گوشی انتخاب کنید. در نسخهی موبایل ممکن است دکمهها زیر منوی ⋮ باشند. برای فایلهای حجیم، آپلود با موبایل ناپایدار است؛ بهتر است از کامپیوتر یا Git LFS استفاده کنید.
مرحله بیستم: دو خطای رایج آپلود و راهحلشان
اگر آپلود رد شد، تقریباً همیشه یکی از این دو دلیل را دارد یا حجم بیش از ۲۵ مگابایت است یا ناهمخوانی پسوند با محتوا (پیام «فرمت متنی را عوض کن» یعنی همین؛ مثلاً کد در Word ذخیره شده) دیده میشود. برای مورد اول کافی است اقدام به فشردهسازی یا Git LFS کنید و برای مورد دوم کافی است فایل را با ویرایشگر کد و پسوند درست ذخیره کنید.

مرحله بیستویکم: شناخت خطاهای رایج
هنگام آپلود فایل ممکن است با مشکلاتی مواجه شوید و تصویر کنید گیتهاب کار نمیکند. مطالعه جدول زیر به شما کمک میکند علت و راهحل هر مشکل را شناسایی کنید.
| پیام | علت | راهحل |
|---|---|---|
| 404 Not Found | آدرس اشتباه است، یا ریپازیتوری Private است و وارد حساب نشدهاید | آدرس را از صفحهی پروژه کپی کنید و دوباره وارد شوید |
| تغییر دادن فرمت متن | پسوند فایل با محتوایش نمیخواند؛ مثلاً کد در Word ذخیره شده است | با ویرایشگر کد و پسوند درست ذخیره کنید: .py .html .txt .js |
| File is too large | حجم فایل از سقف آپلود وب (۲۵ مگابایت) بیشتر است | فشرده کنید، یا از Git LFS / GitHub Desktop استفاده کنید |
| تغییرات ثبت نشد | دکمهی Commit changes زده نشده یا صفحه پیش از کامیت رفرش شده | فایلها را دوباره انتخاب کنید و کامیت بزنید |
| 403 Forbidden | حساب شما اجازهی نوشتن روی آن ریپازیتوری را ندارد | از مالک پروژه دسترسی Write بگیرید یا Fork کنید |
| خطای شبکه / سهمیه | اتصال قطع شده یا سهمیهی ذخیرهسازی حساب پر شده است | دوباره تلاش کنید و حجم ریپازیتوری را بررسی کنید |
منبع: docs.github.com
سوالهای متداول
نه. کل مسیر این آموزش از داخل مرورگر است. نصب گیت یا GitHub Desktop فقط برای پروژههای بزرگتر، کار تیمی جدی یا آپلود فایلهای بیش از ۲۵ مگابایت لازم میشود.
تقریبا همه فرمتهای تصویر، ویدیو، PDF، Word/Excel، ZIP، فایل کد و … را میتوانید در گیتهاب دانلود کنید. محدودیتی روی پسوند نیست. نکته این است که پسوند با محتوای فایل همخوان باشد؛ کد را باید در ویرایشگر متن ذخیره کنید، نه Word.
حداکثر حجم فایل ۲۵ مگابایت برای هر فایل و حداکثر ۱۰۰ فایل در هر بار است. با Git LFS میتوان فایلهای بزرگتر (تا چند گیگابایت) نگه داشت. سقف کل مخزن هم حدود ۱ گیگابایت توصیهشده و ۵ گیگابایت سختگیرانه است.
در پنجرهی انتخاب فایل، Ctrl (در مک ⌘) را نگه دارید و روی فایلها کلیک کنید؛ برای انتخاب پیوسته Shift را نگه دارید. راه سادهتر این است که کل پوشه را بکشید و رها کنید.




