LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

دریافت پروژه و انتقال ‫تغییرات به git

پنجشنبه, ۱ بهمن ۱۳۹۴، ۱۰:۵۶ ق.ظ

بعد از ‫نصب و راه اندازی git و اعمال تنظیمات اولیه که در مستندهای قبلی بدان اشاره شد شما میبایست بتوانید یک پروژه را دریافت و سپس با اعمال تغییرات به سرور ارسال نمایید.

شما می‫توانید با استفاده از قابلیت clone یک پروژه را دریافت نمایید:

$ git clone -b <branch_name> user@taskserver:/opt/git/repository_name.git
$ git remote add origin user1@taskserver:/opt/git/repository_name.git
$ git pull origin <branch_name>


بعد‫ از اینکه پروژه را به اصطلاح clone کردید می بایست دستورات زیر را برای توسعه کد و انتقال آن به سرور اجرا نمایید:

$ cd repository_name
$ git add .
$ git commit -m <Your message: Note: You must not use past verbs in commit message!>
$ git push origin <branch_name>


 ‫نکته: هرگر در داخل پوشه کاری خود فایل های اضافی و ایجاد نکنید چرا که این فایل ها همگی به همراه با پروژه به سرور انتقال داده خواهند شد و این قضیه مورد قبول نیست. اگر به ناچار در پروژه فایل هایی دارید و به وجود آن ها نیاز دارید ولی در برنامه استفاده نمیشوند در مسیر ریشه ی پروژه ی خود فایل با نام gitignore.  ایجاد کرده و راههای افزودن این نوع فایلهای اضافی را در آن بررسی کرده و به آن اضافه نمایید. تمامی فایلهای pyc و فایل های اضافی تولید شده با ویرایشگر vim یا emacs و... را در این فایل قرار دهید.

برای‫ آگاهی بیشتر از چگونگی نقل و انتقال داده با استفاده از git به این آدرس مراجعه کنید.

حال ا‫گر پروژه را دریافت کردید و به شاخه ی مورد نظر خود switch کردید و هنگام انتقال اطلاعات با مشکل زیر مواجه شدید:

$ git clone -b <branch_name> user@taskserver:/opt/git/repository_name.git
$ cd repository_name
$ git checkout <branch_name>
## Switched to branch_name
## Done some changes
$ git add .
$ git commit -m "Do some changes"
$ git push origin <branch_name>
error: failed to push some refs to [REPOSITORY_ADDRESS] To prevent you from losing history, non­fast­‫‪forward updates were rejected‬‬
‫‪Merge the remote changes (e.g. 'git pull') before pushing again.‬‬


‫ می بایست از دستور زیر استفاده نمایید:

$ git pull origin <branch_name>


‫بعد از آن دو مساله ممکن است بوجود بیاید:

‫۱) git به صورت خودکار تغییرات را برای شما merge میکند و درکد conflict ای بوجود نمی آید:

$ git commit -m "merge"
$ git push origin <branch_name>


‫۲) بغلت تغییرات در فایل های مشابه git قادر به merge کردن به صورت خودکار نبوده و این کار را می بایست خود شما انجام دهید:

$ git add .
$ git commit -m "merge"
$ git push origin <branch_name>


معمولا ‫ برای اینکه متوجه بشوید که باید راه اول یا دوم را بروید از دستور git status استفاده نمایید. اگر تغییرات در staging area بود راه اول و اگر تغییرات در working area بود از راه دوم استفاده نمایید. این مفاهیم در مستندات قبل توضیح داده شده است.

در پایان ‫ توصیه میشود حتما به این لینک نگاهی بیاندازید.

موافقین ۰ مخالفین ۰ ۹۴/۱۱/۰۱
مرتضی

clone

git

pull

push

گیت

نظرات  (۱)

۱۱ اسفند ۹۴ ، ۱۸:۱۲ ارسطو عباسی
سلام دوست عزیز. خیلی خوب بود.
اگر خواستید از نوشتن مقاله هاتون درامد کسب کنید بیاید به وبلاگ من و اونجا مقاله هاتون رو بنویسید.ممنون

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی