Git - انبارهای برخط


Advertisements

git hub یکی از میزبانهای web-based برای پروژههای نرمافزاری است که از git استفاده میکند. این میزبان یک GUI هم برای platform های مختلف دارد که از سایت github قابل دریافت است. اما ما در اینجا فقط به CLI بسنده میکنیم.

ایجاد یک انبار در GitHub

به github.com. Iبروید. اگر account دارید، وارد شوید، در غیر این صورت قدم به قدم یک account بسازید تا بتوانید یک انبار ایجاد کنید

Push عملیات

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 استفاده کند

Pull عملیات

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
Advertisements