Har bir sinovchi bilishi kerak bo'lgan buyruqlar

Ushbu xabar Git Cheat Sheet bo'lib, siz eng keng tarqalgan Git buyruqlari bilan siz har kuni ishlatishingiz mumkin.

Agar siz ishlab chiquvchilar bilan birga ishlaydigan texnik sinovchi bo'lsangiz, asosiy Git buyruqlari bilan tanishishingiz kerak.

Ushbu post sizni har kuni QA sifatida davom ettirish uchun etarli Git bilimlarini o'z ichiga oladi.


Agar Git-ni kompyuteringizga o'rnatmagan bo'lsangiz, quyidagi bosqichlarni bajarishingiz mumkin Git-ni Mac-ga qanday o'rnatish va SSH tugmachalarini yaratish .



Dastlabki Git sozlamalari

Repo boshlash

Bo'sh git reposini yarating yoki mavjud bo'lganini qayta ishga tushiring


$ git init

Reponi klonlash

Foo repo-ni foo deb nomlangan yangi katalogga klonlang:

$ git clone https://github.com//foo.git foo

Git filiali

Gitda qanday qilib yangi filial yaratish mumkin

Yangi xususiyat ustida ishlashni xohlasangiz, odatda Git-da yangi filial yaratasiz. Shunday qilib, siz magistr filialidan tashqarida bo'lishni xohlaysiz va o'zingizning xususiyat filiallaringizda ishlashingiz kerak, shunda usta har doim toza bo'ladi va siz undan yangi filiallar yaratishingiz mumkin.

Yangi filial yaratish uchun quyidagilardan foydalaning:

$ git checkout -b

Git-dagi filiallarni ro'yxati qanday

Agar sizning ish katalogingizda qaysi filiallar mavjudligini bilmoqchi bo'lsangiz, quyidagilarni ishlating:


$ git branch

Namuna chiqishi:

develop my_feature master

Git-da filiallarni qanday almashtirish mumkin

Siz yangi filial yaratganingizda Git avtomatik ravishda yangi filialga o'tadi.

Agar sizda bir nechta filial bo'lsa, unda siz goout checkout yordamida filiallar o'rtasida osongina o'tishingiz mumkin:

$ git checkout master $ git checkout develop $ git checkout my_feature

Git-dagi filiallarni qanday o'chirish mumkin

Mahalliy filialni o'chirish uchun:


$ git branch -d

-D Dan foydalaning majburlash uchun parametr bayrog'i.

Uzoq filialni kelib chiqishi bo'yicha o'chirish uchun:

$ git push origin :

Bog'liq:

  • Git-ni qanday o'rnatish va Mac-da SSH tugmachalarini yaratish


Git Staging

Kimga bosqich fayl shunchaki uni majburiyat uchun tayyorlashdan iborat. Ba'zi fayllarni qo'shganda yoki o'zgartirganda, ushbu o'zgartirishlarni 'sahnalashtirish maydoniga' kiritishingiz kerak. Sahnalashtirishni o'zingizning karavotingiz ostiga surishdan oldin narsalarni qo'yadigan quti deb o'ylang, bu erda sizning to'shagingiz ilgari kiritgan qutilaringiz ombori.


Git Stage Files

Fayllarni bosqichma-bosqich yoki oddiygina qo'shish uchun siz git qo'shish buyrug'idan foydalanishingiz kerak. Siz alohida fayllarni sahnalashingiz mumkin:

$ git add foo.js

yoki barcha fayllar bir vaqtning o'zida:

$ git add .

Sahnaviy o'zgarishlarni bekor qiling

Agar siz ma'lum bir faylni sahnadan olib tashlamoqchi bo'lsangiz:

$ git reset HEAD foo.js

Yoki barcha bosqichli fayllarni olib tashlang:


$ git reset HEAD .

Bundan tashqari, buyruq uchun taxallus yaratishingiz va undan keyin Git bilan foydalanishingiz mumkin:

$ git config --global alias.unstage 'reset HEAD' $ git unstage .

Git holati

Agar siz qanday fayllar yaratilgan, o'zgartirilgan yoki o'chirilganligini ko'rishni istasangiz, Git holati sizga hisobotni ko'rsatadi.

$ git status

Git majburiyatlari

Tez-tez qilish yaxshi amaliyotdir. Bosishdan oldin har doim majburiyatlaringizni siqib qo'yishingiz mumkin. O'zgarishlarni amalga oshirishdan oldin, ularni sahnalashingiz kerak.

Amr buyrug'i bajarilish xabarini ko'rsatadigan -m parametrini talab qiladi.

O'zgarishlaringizni quyidagicha amalga oshirishingiz mumkin:

$ git commit -m 'Updated README'

Majburiyatlarni bekor qilish

Quyidagi buyruq sizning so'nggi ishingizni bekor qiladi va ushbu o'zgarishlarni sahnalashtirishga qaytaradi, shunda siz hech qanday ishni yo'qotmaysiz:

$ git reset --soft HEAD~1

Majburiyatni to'liq o'chirish va o'zgartirishlarni tashlash uchun quyidagilarni ishlating:

$ git reset --hard HEAD~1

Squashing majburiyatlari

Aytaylik, sizda 4 ta majburiyat bor, lekin siz hali hech narsani itarib qo'ymadingiz va siz hamma narsani bitta majburiyat bilan bajarishni xohlaysiz, shunda siz quyidagilarni ishlatishingiz mumkin:

$ git rebase -i HEAD~4

HEAD~4 oxirgi to'rtta majburiyatni nazarda tutadi.

-i variant interaktiv matnli faylni ochadi.

Har bir majburiyatning chap tomonida 'pick' so'zini ko'rasiz. Yuqoridagi birini yolg'iz qoldiring va boshqalarni qovoq uchun 's' bilan almashtiring, faylni saqlang va yoping.

Keyin yana bir interaktiv oyna ochiladi, bu erda siz o'z xabarlarini bitta yangi bajariladigan xabarga yangilashingiz mumkin.



Git Push

O'zgarishlaringizni amalga oshirganingizdan so'ng, keyingisi uzoqdagi omborga o'tish.

Birinchi surish

Birinchi marta mahalliy filialni suring:

$ git push --set-upstream origin

Shundan so'ng, siz shunchaki foydalanishingiz mumkin

$ git push

Mahalliy filialni turli xil uzoq shoxlarga suring

Mahalliy filialni boshqa masofaviy filialga surish uchun siz quyidagilarni ishlatishingiz mumkin:

$ git push origin :

Oxirgi bosishni bekor qilish

Agar siz oxirgi marta bosishni bekor qilishingiz kerak bo'lsa, quyidagilarni ishlatishingiz mumkin:

$ git reset --hard HEAD~1 && git push -f origin master

Git Fetch

git fetch Dan foydalanganingizda, Git boshqalarni birlashtirmaydi, ularni sizning hozirgi filialingiz bilan bajaradi. Bu, ayniqsa, omboringizni yangilab turishingiz kerak bo'lsa, lekin fayllaringizni yangilashingiz mumkin bo'lgan narsalar ustida ishlashda foydalidir.

Majburiyatlarni magistr filialingizga qo'shish uchun siz merge dan foydalanasiz.

Oqim oqimidan o'zgarishlarni olib keling

$ git fetch upstream

Git torting

Tortish shunchaki olib kelishni, so'ngra birlashishni amalga oshiradi. git pull Dan foydalanganda, Git avtomatik ravishda boshqa topshiriqlarni ko'rib chiqishga ruxsat bermasdan birlashtiradi. Agar siz filiallarni yaqindan boshqarmasangiz, tez-tez to'qnashuvlarga duch kelishingiz mumkin.

Filialni torting

Agar sizda my_feature deb nomlangan filial mavjud bo'lsa va siz ushbu filialni tortib olishni xohlasangiz, quyidagilarni ishlatishingiz mumkin:

$ git pull origin/my_feature

Hamma narsani torting

Yoki, agar siz hamma narsani va boshqa barcha filiallarni tortib olishni xohlasangiz

$ git pull

Git Birlashtirish va Rebasing

git merge Ni ishga tushirganda, HEAD filialingiz a hosil qiladi yangi majburiyat , har bir tarixning ajdodlarini saqlab qolish.

The overshoot bir filialning o'zgarishlarini boshqasiga qayta yozadi holda yangi majburiyat yaratish.

Magistr filialini Feature filialiga birlashtirish

$ git checkout my_feature $ git merge master

Yoki rebase opsiyasi bilan siz quyidagilarni ishlatasiz:

$ git checkout my_feature $ git rebase master

Xususiyat filialini Magistr filialiga birlashtirish

$ git checkout master $ git merge my_feature

Git Stash

Ba'zan siz filialda o'zgarishlar kiritasiz va boshqa filialga o'tishni xohlaysiz, lekin o'zgarishlarni yo'qotishni xohlamaysiz.

O'zgarishlaringizni saqlashingiz mumkin. Git-da stashni qanday bajarishingiz mumkin:

$ git stash

Endi, agar siz ushbu o'zgarishlarni bekor qilishni va ularni o'zingizning ish katalogingizga qaytarishni xohlasangiz:

$ git stash pop