git hub یکی از میزبانهای web-based برای پروژههای نرمافزاری است که از git استفاده میکند. این میزبان یک GUI هم برای platform های مختلف دارد که از سایت github قابل دریافت است. اما ما در اینجا فقط به CLI بسنده میکنیم.
به github.com. Iبروید. اگر account دارید، وارد شوید، در غیر این صورت قدم به قدم یک account بسازید تا بتوانید یک انبار ایجاد کنید
Tom تصمیم گرفته که از github به عنوان سرور استفاده کند. برای شروع پروژه او یک directory ایجاد میکند و یک فایل هم در داخل ایجاد میکند
[tom@CentOS]$ mkdir github_repo [tom@CentOS]$ cd github_repo/ [tom@CentOS]$ vi hello.c [tom@CentOS]$ make hello cc hello.c -o hello [tom@CentOS]$ ./hello
دستورات بالا نتایج زیر را در برخواهند داشت:
Hello, World !!!
بعد از بازبینی کد، او directory را با git init برای فعالیت آمادهسازی میکند تا بتواند تغییرات محلیاش را commit کند
[tom@CentOS]$ git init Initialized empty Git repository in /home/tom/github_repo/.git/ [tom@CentOS]$ git status -s ?? hello ?? hello.c [tom@CentOS]$ git add hello.c [tom@CentOS]$ git status -s A hello.c ?? hello [tom@CentOS]$ git commit -m 'Initial commit'
بعد از اینکه او انبار github را به عنوان URL و برای remote origin معرفی کرد، تغییراتش را push میکند نکته:ما درباره این تغییرات در فصل با عنوان ایجاد یک انبار خالی بحث کردهایم
[tom@CentOS]$ git remote add origin https://github.com/kangralkar/testing_repo.git [tom@CentOS]$ git push -u origin master
Push کردن باعث میشود که از کاربر، نام کاربری و گذرواژهاش در github پرسیده شود. بعد از شناسایی موفقیت آمیز، عملیات push انجام میشود
دستورات بالا نتایج زیر را در برخواهند داشت:
Username for 'https://github.com': kangralkar Password for 'https://kangralkar@github.com': Counting objects: 3, done. Writing objects: 100% (3/3), 214 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/kangralkar/test_repo.git * [new branch] master −> master Branch master set up to track remote branch master from origin.
از حالا به بعد Tom میتواند تغییرات را در انبارش در Push, GitHub کند. او میتواند از تمام دستورهایی که در این بخش گفته شدهاند در انبار GitHub استفاده کند
Tom تغییراتش را در انبار GitHub با موفقیتpush کرد. اکنون دیگر برنامهنویسان میتوانند تغییرات را با clone یا update کردن انبارهایشان ببینند
Jerry یک directory جدید ایجاد میکند و انبار GitHub را در آن با استفاده از دستور clone, git clone میکند:
[jerry@CentOS]$ pwd /home/jerry [jerry@CentOS]$ mkdir jerry_repo [jerry@CentOS]$ git clone https://github.com/kangralkar/test_repo.git
دستورات بالا نتایج زیر را در برخواهند داشت:
Cloning into 'test_repo'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 3 (delta 0) Unpacking objects: 100% (3/3), done.
او تغییرات را با دستور زیر بازبینی میکند
[jerry@CentOS]$ ls test_repo [jerry@CentOS]$ ls test_repo/ hello.c