We Make your Working Easy.
آموزش دستورات پر کاربرد git و github
git version
برای فهمیدن ورژن git نصب شده:
git –versiongit config
برای تنظیم نام:
git config –global user.name “Mehdi Raeisi”برای تنظیم email:
git config –global user.email admin@mehdira.comبرای مشاهده نام تنظیم شده:
git config –global user.nameبرای مشاهده email تنظیم شده:
git config –global user.emailبرای مشاهده تمامی تنظیمات انجام شده:
git config –listgit init
برای ایجاد یک repository خالی:
(فولدر جاری به عنوان repository در نظر گرفته می شود.)
git initبرای ایجاد یک repository خالی با نام انتخابی:
(فولدری با نام انتخابی به عنوان repository در نظر گرفته می شود.)
git init myRepositoryNamegit clone
برای انتقال repository از github به سیستم:
git clone https://github.com/mehdira/git-crash-course.gitبرای انتقال repository از github به سیستم، با تعیین نامی جدید:
git clone https://github.com/mehdira/git-crash-course.git newRepositoryNamegit add
برای add کردن فایل جدید یا تغییر کرده به stage:
git add myFileName.formatبرای add کردن همه فایل هایی که در پروژه تغییر کرده اند به stage:
git add .git add *
git add -A
git rm
برای حذف فایل انتخابی در stage:
git rm myFileName.formatgit reset
برای برگرداندن فایل تغییر یافته از stage به حالت قبل از git add یا git rm:
git reset HEAD myFileName.formatgit commit
برای تایید تغییرات موجود در stage:
git commit -m “my about text”برای تغییر و ویرایش پیام آخرین commit:
git ommit –amend -m “new my about text”git status
برای نمایش فایلهای در دست تغییر و فایلهای موجود در ناحیه stage که هنوز commit نشده اند:
git statusبرای نمایش git status به صورت خلاصه:
git status -sgit branch
برای ایجاد یک branch جدید:
git branch -M myBranchNameبرای نمایش branch های موجود در یک repository:
git branchبرای حذف یک branch موجود:
git branch -D myBranchNamegit checkout
برای جابجایی بین branch ها:
git checkout myBranchNameبرای ایجاد یک branch جدید و انتقال به آن:
git checkout -b myNewBranchNameبرای برگرداندن به وضعیت اولیه در فایلهایی که به اشتباه merge شده اند:
git checkout -m fileName.formatgit remote
برای مشاهده لیستی از remote های مربوط به repository:
git remoteبرای حذف یک remote از repository:
git remote rm remoteNameبرای دسترسی به repository موجود در github از remote استفاده می شود:
git remote add remoteName urlمثال-
git remote add origin https://github.com/mehdira3000/myGitPracticing3.git
- origin: نام مستعار لینک است. یعنی remote اصلی. (یک نام رایج است)
- http://github.com/… .git: آدرس کپی شده در سایت github.com
git push
برای انتقال پروژه (repository) از کامپیوتر به github (با استفاده از دستور remote):
git push -u remoteName myBranchNameمثال-
git push -u origin master برای انتقال پروژه (repository) از کامپیوتر به github (بدون استفاده از دستور remote):
git push https://github.com/mehdira3000/myRepositoryName.git masterباید قبل از استفاده از دستور git push، منبع و قسمت بالایی git تنظیم شود:
git push –set-upstream shortName branchNameمثال-
git push –set-upstream origin featureBranch git pull
برای گرفتن تغییرات از repository موجود در github:
git pull remoteNameمثال-
git pull origin git fetch
برای دانلود تغییرات سایر اعضای تیم از github:
git fetchgit fetch origin main
این دستور اطلاعات مربوط به همه commitها، رفرنس ها و … را دانلود می کند. بنابراین قبل از اعمال این تغییرات در repository کامپیوتر خود، می توان آنها را مرور کرد.
git stash
برای ذخیره کردن موقت فایلهای ویرایش شده commit نشده:
git stashبرای دیدن لیست فایلهای stash(دخیره موقت) شده:
git stash listبرای اضافه کردن یک stash به branch:
git stash applyبا دستورات git stash apply و git stash pop، می توان تغییرات ذخیره شده را دوباره اعمال کرد. هر دو فرمان تغییرات ذخیره شده در آخرین stash را دوباره اعمال می کنند. یک stash apply تغییرات را مجددا اعمال می کند درحالیکه stash pop تغییرات را از stash حذف کرده و مجددا آنها را روی نسخه کاری اعمال می کند.
git log
برای مشاهده همه commit های قبلی branch جاری (با شروع از آخرین commit):
git logبرای مشاهده همه commit های قبلی branch مورد نظر (با شروع از آخرین commit):
git log branchNameبرای مشاهده همه commit های قبلی از همه branch ها (با شروع از آخرین commit):
git log –allبرای مشاهده همه commit های قبلی حاصل از merge شدن branch ها (با شروع از آخرین commit):
git log –mergesgit whatchanged
برای مشاهده log های commitهاست و به جای این دستور، استفاده از دستور git log توصیه می شود:
git whatchangedgit shortlog
برای مشاهده خلاصه ای از دستور git log: و نیز برای دانستن اینکه چه کسی روی چه چیزی کار کرده است:
git shortloggit show
برای مشاهده جزئیات یک commit خاص:
git show commitHashCodeمثال-
git show 1fa88e2e12cff9b0fa08bc5169c81739054cfa11 در مقایسه با دستور git log، دستور git show جزئیات مربوط به یک commit خاص را نمایش می دهد.
git showgit merge
برای ادغام یا merge کردن branch انتخابی در branch جاری:
git merge branchNameبرای ادغام یا merge کردن branch انتخابی در branch جاری، با این شرط که تاریخچه commit های branch انتخابی در branch اصلی وارد نشود:
git merge branchName –squashgit rebase
برای ادغام یا merge کردن دو branch در یک branch (عملکرد آن مشابه git merge است.)
git rebase baseRebasing فرآیند ترکیب یا جابجایی دنباله ای از commitها در بالای یک commit پایه جدید است. git rebase فرآیند خطی ادغام است.
git bisect
برای پیدا کردن commitهای بد:
گام 1- شروع کار
git bisect startگام 2- معرفی یک commit خوب به git:
git bisect good a123گام 3- معرفی یک commit بد به git:
git bisect bad z123git cherry-pick
برای انتخاب یک commit از یک branch و اعمال آن به branch های دیگر:
git cherry-pick commitHashCodegit archive
برای ترکیب چند فایل در قالب یک فایل واحد:
git archive –format zip HEAD > archive-HEAD.zipدستور git archive چند فایل را در یک فایل واحد ترکیب می کند. مانند ابزار zip است یعنی می تواند فایلها را از حالت فشرده خارج کرده و به هرکدام از فایلها به طور جداگانه دسترسی بدهد. یک فایل zip از بازبینی فعلی ایجاد می کند.
هنگام گرفتن کدها با دستور git pull معمولا باید rebase (و نه merge) را اجرا کنیم. این کار از merge های متعدد جلوگیری می کند.
git pull –rebasegit blame
برای بررسی سطر به سطر محتوای یک فایل و تشخیص اینکه چه کسی هر تغییر را ایجاد کرده:
git blame myFileName.formatمثال-
git blame index.html git tag
برای ایجاد یک tag جدید:
git tag -a tagNameتگها در git مفید هستند و از آنها می توان برای مدیریت انتشار استفاده کرد. tag را می توان مانند یک branch بدون تغییر در نظر گرفت. اهمیت آن هنگام انتشار عمومی خیلی بیشتر است.
git verify
برای بررسی امضای gpg مربوط به commit ها: (GPG یا GNU Privacy Guard)
git verify-commitمثال-
git verify-commit f309e6f3c44241dbf94b54c801e821d0b692d624 برای تایید tag:
git verify-taggit diff
برای مقایسه فایل کاری با نسخه آن در git:
git diff HEAD filename.formatمثال-
git diff HEAD index.html برای مقایسه دو branch:
git diff branch1 branch2git citool
برای داشتن برنامه ای گرافیکی برای اجرای دستورات git:
git citoolgit mv
برای تغییر نام فایل در git:
git mv oldFileName.format newFileName.formatمثال-
git mv index.html firstPage.html git help
برای داشتن اطلاعات و راهنمایی مربوط به دستورات git:
git help gitCommandمثال-
git help push git clean
برای حذف فایلهایی که هنوز با git add به repository اضافه نشده اند:
git cleanبرای تنظیم ide پیشفرض git:
git config –global core.editor myIDEمثال-
git config –global core.editor emacs برای ایجاد alias برای دستورات پرکاربرد git:
git config –global alias.myAlias myGitCommandمثال-
git config –global alias.i init
توسط alias می توانیم برای دستورات پرکاربرد خود، نامهای مستعاری تعریف کرده و با آنها دستورات خود را اجرا کنیم.
برای مشاهده درست داکومنتهای فارسی در دستور git status:
git config –global core.quotepath falseHave your Mobile Application
It has never been easier to have your mobile application by us.
Our Vision
We are proud of all our work yet these deserve a spot up-front.
Our hope is to asist you to achieve value through our producted softwares and applications.
We are expert technology and you are expert in your business, so we can help togheter by useing the knowledg of both fields to having the best product.
Together with you, we find the proper solution for our problem.