Git

22 основни Git команди

22 основни Git команди
Git се превърна в типичната система за контрол на версиите. Нарастването на популярността на Git може да се отдаде на неговата бързина, пъргавина и гъвкавост. Независимо дали сте уеб разработчик на свободна практика или софтуерен дизайнер за приложения на ниво предприятие, можете да се възползвате от използването на Git. Той ви помага да следите вашите файлове чрез систематично създаване на версии. Git улеснява връщането към по-стари версии на кода или създаването на нови клонове, за да експериментирате върху текущата кодова база. Също така, Git е разпределена система за контрол на версиите, което означава, че не е нужно винаги да се свързвате с централен сървър, за да свършите работата си.По-долу са основните команди на Git, които ще помогнат при ежедневните ви задачи. Простите примери ще ви дадат разбиране за командите, така че лесно можете да запомните синтаксиса, когато трябва да ги използвате.

1. git add

Командата git add ви позволява да започнете да проследявате файлове и папки за вашето Git хранилище и да ги премества в зоната за подреждане. Ще трябва да използвате командата git commit, за да ги направите постоянни на вашите исторически снимки.

Използването на командата е лесно. Можете да изберете да добавяте файлове и папки поотделно или да използвате оператор на глобус тип звездичка (*), за да ги добавяте в групи.

Да вземем примера по-долу:

Да предположим, че в горния случай вече сме добавили ReadMe.текст. Но останалите файлове не са добавени.

Нека проверим състоянието:

$ git статус
На клона майстор
Вашият клон е актуален с 'origin / master'.
Непроследени файлове:
(използвайте 'git add ... "да се включи в това, което ще бъде ангажирано)
файл1.текст
файл2.текст
папка1 /

Файловете и папките са в червено, което означава, че не се проследяват. Можем да ги добавим, като използваме:

$ git добавяне на файл1.txt файл2.txt папка1 / *

Ако проверим състоянието сега:

$ git статус
На клона майстор
Вашият клон е актуален с 'origin / master'.
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
нов файл: файл1.текст
нов файл: файл2.текст
нов файл: папка1 / файл3.текст
нов файл: папка1 / файл4.текст

Командата git add е добавила файловете в подреждането. Файловете се съхраняват в подреждането, преди да станат постоянни в процеса на фиксиране.

2. git клон

На Git разклоняването е лесно. В други системи за контрол на версиите това беше скъпа операция. Но алгоритмите Git са оптимизирани за разклоняване. Така че можете да използвате командата git branch, когато искате да създадете отделен ред за разработка, без да се притеснявате за производителността.

Нека разгледаме следния пример.

$ git статус
На клона майстор
Вашият клон е актуален с 'origin / master'.
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
нов файл: файл1.текст
нов файл: файл2.текст
нов файл: папка1 / файл3.текст
нов файл: папка1 / файл4.текст

Забележете, че сме „На главния клон“. Когато създавате нов проект, ще се озовете в master master. Можете също да използвате командата git branch -a, за да разберете на кой клон се намирате:

$ git клон -a
* майстор

Горното ви казва, че има само един клон, наречен „master“ и звездичката (*) означава, че сте в този клон.

Нека създадем нов клон, наречен „тестване“:

Тестване на $ git клон

Сега можем да проверим клоновете отново:

$ git клон -a
* майстор
тестване

Въпреки че все още сме в клона „master“, можем да видим и новия клон „тестване“, който е създаден. Клонът "тестване" е копие на клона "master".

3. git плащане

Командата git checkout ви отвежда до клон, за да можете да работите върху ресурсите там. Можете да мислите за клоните като реки и потоци. С клон създавате нов поток. С командата за плащане преминавате в този поток.

Нека да разгледаме клона „тестване“ от предишния пример:

$ git тестване на плащане
Преминах към „тестване“ на клон

Сега нека проверим отново състоянието и клоновете:

$ git статус
На тестване на клонове
няма нищо за ангажиране, работната директория е чиста
$ git клон -a
майстор
* тестване

От командата git -a можете да видите, че сме се преместили в тестващия клон.

4. git клонинг

Командата git clone ви позволява да направите копие на всяко Git хранилище. Веднага след като клонирате хранилище, новата клонирана папка ще започне да следи промените локално. Тъй като Git се разпространява, клонингът е напълно автономно хранилище на Git.

За да покажем как работи клонирането, нека създадем ново хранилище:

$ mkdir dir1
$ cd реж
$ mkdir myproject
$ cd myproject /
$ git init
Инициализирано празно хранилище на Git в / dir1 / myproject /.git /
$ touch ReadMe.текст
$ git commit -m 'Инициализиране на моето хранилище'
[master (root-commit) 5a0bd75] Инициализирайте моето хранилище
1 файл е променен, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 ReadMe.текст

В горния пример създадохме Git хранилище, наречено 'myproject' в папката 'dir1'. Да предположим, че това е нашето основно хранилище. Сега искаме да направим копие от него и да работим другаде.

Нека създадем директория, наречена 'dir2' и клонираме хранилището 'myproject'. Използваме клона на git

за клониране на „myproject“:

$ mkdir dir2
$ cd dir2
$ git clone / dir1 / myproject /
Клониране в „myproject“ ..
Свършен.
$ ls
Моят проект

Командата git clone работи и с URL адрес.

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

Също така можете да промените името на клонинга, като го посочите след адреса на хранилището на Git:

$ git clone https: // github.com / test / test.git mytest

5. git commit

Командата git commit се изпълнява след командата git add. В нашия пример за добавяне на git бяхме добавили файловете за проследяване, но не го бяхме ангажирали в хранилището на Git. Проследяването остава локално, докато не бъде направен ангажимент. Когато извършите промените, те стават част от постоянния запис.

По-долу изпълняваме git commit -m команда:

$ git commit -m 'Фиксиране на моите файлове и папки'
[master 3ef57b3] Фиксиране на моите файлове и папки
4 файла са променени, 0 вмъквания (+), 0 изтривания (-)
създайте режим 100644 файл1.текст
създайте режим 100644 файл2.текст
създайте режим 100644 папка1 / файл3.текст
създайте режим 100644 папка1 / файл4.текст

Ако не използвате опцията -m, за да добавите коментар, Git ще отвори вашия текстов редактор по подразбиране и ще го поиска. Коментарите се считат за добра практика за контрол на версиите. Затова винаги поставяйте смислени коментари във вашия ангажимент.

6. git config

Командата git config ви позволява да настроите различни опции за вашето git хранилище. Например можете да използвате git config -global команда, за да получите и настроите вашия потребител.име и потребител.електронна поща.

Ето как можете да зададете стойностите:

$ git config --global потребител.име „Zak H“
$ git config --global потребител.имейл zakh @ пример.com

Ето как можете да проверите стойностите:

$ git config --global потребител.име
Zak H
$ git config --global потребител.електронна поща
zakh @ пример.com

7. git разл

Командата git diff ви помага да видите разликите между файлове и папки. Ако правите промени във файл, това е полезен инструмент за бърза оценка на направените промени.

Да предположим, че започваме работата си с ReadMe.txt файл с два реда. След това се отърваваме от втория ред и добавяме трети ред.

Сега, ако изпълним командата diff, тя ще покаже разликите между ангажираната версия и локално променената версия в подреждането. Ето как ще изглежда:

$ git разл
diff --git a / ReadMe.txt b / ReadMe.текст
индекс 9475ddc ... 1804904 100644
--- а / ReadMe.текст
+++ b / ReadMe.текст
@@ -1,2 +1,2 @@
Ред 1: Моят първи ред
-Ред 2: Моят втори ред
+Ред 3: Моят ТРЕТИ ред

Линия 1 е непроменена (бяла), Линия 2 е премахната (червена) и Добавена е линия 3 (зелена).
Можете да използвате командата diff, за да намерите и разлики между определени фиксирания.

8. git fetch

Командата git fetch получава най-новите ресурси от посочения произход.

Нека разгледаме един пример. Да предположим, че имате следното състояние:

dir1 / myproject
dir2 / myproject (клониран)

Папката „dir2 / myproject“ е клонирана от „dir1 / myproject“. Сега, ако някой е извършил промени в 'dir1 / myproject', можете да получите тези промени като тази от 'dir2 / myproject':

$ git fetch origin
дистанционно: Преброяване на обекти: 2, готово.
дистанционно: Компресиране на обекти: 100% (2/2), готово.
дистанционно: Общо 2 (делта 0), повторно използвано 0 (делта 0)
Разопаковане на обекти: 100% (2/2), готово.
От / dir2 / ... / dir1 / myproject
5a0bd75… 1713734 master -> origin / master

Важно е да запомните, че командата git fetch не обединява промените. За автоматично извличане и обединяване използвайте командата git pull. Тогава може би се чудите защо изобщо да използвате тази команда. Възможно е да има разширени опции за Git, при които да получавате всички промени от вашия първоначален сървър и след това да прилагате промени само селективно към определени файлове. Командата git fetch ви позволява да постигнете това. Това обаче е разширена тема, която можете да намерите в документацията за git fetch.

9. git grep

Командата git grep ви позволява да търсите информация във вашето Git дърво. Ето пример за търсене на думата „Line“ в нашето git хранилище. Опцията -n или --line-number показва номера на редове, където Git намира съвпадение:

$ git grep -n Линия
Прочети ме.txt: 1: Ред 1: Моят първи ред
Прочети ме.txt: 2: Ред 3: Моят ТРЕТИ ред

Можете да изпълните подобно търсене колко пъти съвпадението е с опция -c или --count:

git grep -c линия
Прочети ме.txt: 2

Причината за използването на git grep над Linux grep е, че git grep е по-бърз за git хранилища.

10. git дневник

Командата git log ви показва историята на фиксиране.

$ git log
ангажиране 171373479fc309846ef605fbe650933767afd0fb
Автор: Zak H
Дата: сряда 21 ноември 20:26:32 2018 -0800
Добавени са нови файлове
ангажиране 5a0bd759506d20b2b989873258bf60d003aa3d36
Автор: Zak H
Дата: сряда 21 ноември 18:48:35 2018 -0800
Инициализирайте хранилището ми

Можете също да използвате опцията --oneline, за да видите съкратена версия. Съкратената версия е по-лесна за следване.

$ git log --oneline
1713734 Добавени са нови файлове
5a0bd75 Инициализиране на хранилището ми

11. git merge

Командата git merge обединява клонове.

Нека създадем ново хранилище с 'main' и след това да създадем 'test' клон.

$ mkdir myproject
$ cd myproject
$ git init
Инициализирано празно хранилище на Git в / git_essentials / myproject /.git /
$ touch ReadMe.текст
$ git add -A
$ git commit -m 'Първоначален ангажимент'
[master (root-commit) b31d4e1] Първоначален ангажимент
1 файл е променен, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 ReadMe.текст
$ git клон тест
$ git клон -a
* майстор
тест
$ git тест за проверка
Превключено към „тест“ на клон

В раздела „тест“ нека направим някои промени:

$ touch File1.txt File2.текст
$ Ls
Файл 1.txt File2.txt ReadMe.текст
$ git add -A
$ git commit -m 'Добавих два нови файла'
[тест 7e11910] Добавени са два нови файла
2 файла са променени, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 File1.текст
създайте режим 100644 File2.текст

Добавихме два файла към теста.

$ git клон -a
майстор
* тест
$ ls
Файл 1.txt File2.txt ReadMe.текст
$ git checkout master
Превключено към клон „master“
$ git клон -a
* майстор
тест
$ ls
Прочети ме.текст

От горното виждаме, че File1.txt и File2.txt съществува в клона „test“, но не и в „master“.

Нека се слеем сега.

$ git тест за сливане
Актуализиране на b31d4e1… 7e11910
Превъртане напред
Файл 1.txt | 0
Файл2.txt | 0
2 файла са променени, 0 вмъквания (+), 0 изтривания (-)
режим на създаване 100644 File1.текст
създайте режим 100644 File2.текст
$ ls
Файл 1.txt File2.txt ReadMe.текст
$ git клон -a
* майстор
тест

Сега имаме „File1.txt 'и' File2.txt 'в' master 'клон също.

Забележка: Мислете за сливането като за изтегляне. Трябва да сте в клона, в който искате да се слеете. В този случай вие се намирате в клона „master“ и дърпате промените от клона „test“.

12. git mv

Git mv е команда за бърз достъп за изпълнение на команди git add и git rm. Може да се използва за преименуване на файлове.

Ето пример:

$ git mv ReadMe.txt ReadMe.md
$ git статус
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
преименуван: ReadMe.txt -> ReadMe.md

13. git pull

Командата git pull много прилича на git fetch, с изключение на сливането се случва автоматично.

Ето пример за стартиране на git pull origin като този на git fetch (изпълняваме заявка за изтегляне от клонинга, за да получим промени от оригиналното хранилище на Git):

$ git pull origin
дистанционно: Преброяване на обекти: 3, готово.
дистанционно: Компресиране на обекти: 100% (2/2), готово.
дистанционно: Общо 3 (делта 0), повторно използвано 0 (делта 0)
Разопаковане на обекти: 100% (3/3), готово.
От / LearnGIT / git_essentials / myproject
7e11910… e67f932 master -> origin / master
Актуализиране на 7e11910 ... e67f932
Превъртане напред
Файл 1.txt | 1 +
Файл2.txt | 1 +
Файл 3.txt | 1 +
Прочети ме.txt => ReadMe.md | 0
4 файла променени, 3 вмъквания (+)
създайте режим 100644 File3.текст
преименувайте ReadMe.txt => ReadMe.md (100%)

Можете да видите, че промените са изтеглени от произхода и са обединени в клонинга.

14. git push

Командата git push се използва за прокарване на промени в отдалечени хранилища. Ето пример за изпълнение на командата push:

$ git push master master
Преброяване на обекти: 2, готово.
Делта компресия с използване на до 4 нишки.
Компресиране на обекти: 100% (2/2), готово.
Писане на обекти: 100% (2/2), 242 байта | 0 байта / s, готово.
Общо 2 (делта 1), повторно използвана 0 (делта 0)
Към / LearnGIT / git_essentials / myproject
e67f932… 90dc546 master -> master

Главната команда на git push origin изпраща промени в клона „master“ на произхода (хранилището на Git, което сте клонирали) от клона „master“ на клонираното хранилище. Визуално натискането изглежда така:

клониран / главен -> произход / главен

15. git rebase

Командата git rebase ви помага да промените основата на клоновете. При общо сливане се случва нещо подобно:

Тестовият клон е обединен в клона „master“, за да се създаде нов фиксиране.

В базата данни се случва следното:

Промените от списъка с промени E и F се преизчисляват и фиксират в края на главния клон. Пребазирането помага да се опростят клоновете.

Да предположим, че имаме тази ситуация в клона „master“:

$ git log --oneline
7f573d8 Ангажиране C: добавено c.текст
795da3c Фиксиране B: добавено b.текст
0f4ed5b Ангажиране A: добавено а.текст

И клон на характеристиките:

$ git log --oneline
8ed0c4e Фиксиране F: модифициран b.текст
6e12b57 Ангажиране E: модифициран a.текст
795da3c Фиксиране B: добавено b.текст
0f4ed5b Ангажиране A: добавено а.текст

Ако пребазираме, получаваме git rebase master:

$ git функция за плащане
Превключено към „функция“
$ git rebase master

Първо, пренавиване на главата, за да преиграете работата си върху нея ..

Кандидатстване: Фиксиране E: модифициран a.текст
Прилагане: Фиксиране F: модифициран b.текст
След това обединете „функция“ в „master“.
$ git checkout master
Превключено към клон „master“
$ git функция за сливане
Актуализиране на 7f573d8… 9efa1a3
Превъртане напред
а.txt | 1 +
б.txt | 1 +
2 файла променени, 2 вмъквания (+)

Сега, ако отидете и на клона "master", и на "feature", ще видите същите дневници:

$ git log --oneline
9efa1a3 Ангажиране F: модифициран b.текст
8710174 Ангажимент E: модифициран a.текст
7f573d8 Ангажиране C: добавено c.текст
795da3c Фиксиране B: добавено b.текст
0f4ed5b Ангажиране A: добавено а.текст

Преоценката ги е смачкала заедно.

Забележка: Никога не използвайте пребазинг в публични хранилища, тъй като разработчиците ще се сблъскат с големи проблеми с обединяването.

16. git дистанционно

Командата git remote ви позволява да зададете отдалечен сървър за вашето хранилище. В ситуация на клониране хранилището на източника автоматично се превръща в дистанционното.

Например:

$ pwd
/ LearnGIT / git_essentials / test
$ git remote -v
origin / LearnGIT / git_essentials / myproject (извличане)
origin / LearnGIT / git_essentials / myproject (push)

Горното показва, че отдалеченият сървър за „тест“ е друга папка, наречена „myproject“. Причината е, че „тест“ беше клониран за моя проект.

Но отдалеченият сървър не е необходимо да е локален. Можете да имате нещо подобно с URL:

$ git remote -v
произход https: // github.com / zakh / myproject (извличане)
произход https: // github.com / zakh / myproject (натиснете)

Можете да настроите git отдалечено хранилище, като използвате командата git remote add :

$ git отдалечено добавяне на произход https: // github.com / zakh / myproject

Това ще свърже вашето репо с изхода, за да можете да изтегляте и натискате.

17. git нулиране

Git reset ви позволява да дезактивирате добавените файлове.

Да приемем, че сте добавили файла „тест“.txt 'към вашето хранилище:

$ тест за докосване.текст
$ git add -A
$ git статус
На клона майстор
Вашият клон е актуален с 'origin / master'.
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
нов файл: тест.текст

Вие обаче решавате, че не искате да проследявате „тест“.txt 'вече. Можете да използвате главата за нулиране на git команда за дезактивиране на файла:

$ git reset HEAD тест.текст

Ако проверите състоянието, файлът отново не се проследява:

$ git статус
На клона майстор
Вашият клон е актуален с 'origin / master'.
Непроследени файлове:
(използвайте 'git add ... "да се включи в това, което ще бъде ангажирано)
тест.текст

Тестът на файла.txt 'вече не се проследява.

18. git revert

Командата git revert ви позволява да обърнете промените, като използвате хеш номер на фиксиране.

$ echo 'Тест 1' >> MyFile.текст
$ git add -A
$ git commit -m 'Добавена промяна 1'
[master 78a8277] Добавена промяна 1
2 файла променени, 1 вмъкване (+)
режим на създаване 100644 MyFile.текст
създайте режим 100644 тест.текст
$ котка MyFile.текст
Тест 1
$ echo 'Тест 2' >> MyFile.текст
$ git add -A
$ git commit -m 'Добавена промяна 2'
[master a976e9c] Добавена промяна 2
1 файл е променен, 1 вмъкване (+)
$ котка MyFile.текст
Тест 1
Тест 2
$ git log --oneline
a976e9c Добавена промяна 2
78a8277 Добавена промяна 1
90dc546 Добавен файл
e67f932 Добавени са нови файлове
7e11910 Добавени са два нови файла
b31d4e1 Първоначален ангажимент

Създадохме „MyFile.txt 'и извърши две промени, така че файлът има редовете „Тест 1“ и „Тест 2“. Но решихме, че не искаме втория ангажимент. Така че намерихме хеш на фиксиране (a976e9c) за него. Можем да използваме git revert за да се отървете от ангажимента:

$ git revert a976e9c
[master 4f270e7] Възстановяване на „Добавена промяна 2“
1 файл е променен, 1 изтриване (-)
$ git log --oneline
4f270e7 Връщане на „Добавена промяна 2“
a976e9c Добавена промяна 2
78a8277 Добавена промяна 1
90dc546 Добавен файл
e67f932 Добавени са нови файлове
7e11910 Добавени са два нови файла
b31d4e1 Първоначален ангажимент
$ котка MyFile.текст
Тест 1

Виждаме, че е създаден нов хеш на фиксиране, който е върнал фиксирането на реда „Тест 2“. Файлът има само реда „Тест 1“ сега.

19. git rm

Командата git rm настройва файлове за бъдещи изтривания. Той поставя файловете, които трябва да бъдат изтрити в подреждането.

$ git rm тест.текст
rm 'тест.текст'
$ git статус
На клона майстор
Вашият клон изпреварва „origin / master“ с 3 ангажирания.
(използвайте 'git push', за да публикувате местните си ангажименти)
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
изтрит: тест.текст

Трябва да извършите промените, за да влезе в сила изтриването.

20. git скривалище

Командата git stash ви позволява временно да изоставите работа, която все още не сте готови да извършите.
Да предположим, че работите в хранилище със следните файлове:

$ ls
Джон.txt Мери.текст
Искате да промените тези файлове, за да бъдат по-базирани на проекти. Така че започвате с:
$ git mv Джон.txt ProjectFile1.текст
$ ls
Дева Мария.txt ProjectFile1.текст
$ git статус
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
преименуван: Джон.txt -> ProjectFile1.текст

В средата на преименуването и актуализирането на „Джон.txt 'към' ProjectFile1.txt ', получавате заявка за промяна на нещо в проекта. Но не сте готови да изпратите „ProjectFile1.текст'. Така че го скривате.

$ git скривалище

Запазена работна директория и състояние на индекса WIP на master: f0b5a01 Init John and Mary

HEAD вече е на f0b5a01 Init John and Mary

$ ls
Джон.txt Мери.текст

Локалната работна среда се връща там, където бяхте преди да направите промените, базирани на проекти. След това, обръщайки внимание на прекъсването, вместо да се връщам към „Джон.txt “, решавате да работите върху„ Мери.txt 'файл сега:

$ git mv Мери.txt ProjectFile2.текст
$ git статус
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
преименувано на: Мери.txt -> ProjectFile2.текст
$ ls
Джон.txt ProjectFile2.текст

Прекъсват ви отново и скривате новата си работа върху „Мери.текст':

$ git скривалище
Запазена работна директория и състояние на индекса WIP на master: f0b5a01 Init John and Mary
HEAD вече е на f0b5a01 Init John and Mary
$ ls
Джон.txt Мери.текст

След като работата по прекъсването приключи, проверявате списъка с скривалища:

$ git списък с скривалища
скривалище @ 0: WIP на master: f0b5a01 Инициирайте Джон и Мери
скривалище @ 1: WIP на master: f0b5a01 Инициирайте Джон и Мери

Имате две незавършени работи (WIP) в скривалището. Първият път, когато пуснете скривалището, получавате най-новата „Мери.txt 'промени:

$ git скрит поп
Премахване на Мери.текст
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
нов файл: ProjectFile2.текст
Непроведени промени за фиксиране:
(използвайте 'git add / rm ... 'за актуализиране на това, което ще бъде ангажирано)
(използвайте 'git checkout -- ... 'за отхвърляне на промените в работната директория)
изтрито: Мери.текст
Отпаднали препоръки / скривалище @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

Втория път, когато пуснете скривалището, получавате „Джон.промени, свързани с txt':

$ git скрит поп
Премахване на Джон.текст
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
нов файл: ProjectFile1.текст
нов файл: ProjectFile2.текст
Непроведени промени за фиксиране:
(използвайте 'git add / rm ... 'за актуализиране на това, което ще бъде ангажирано)
(използвайте 'git checkout -- ... 'за отхвърляне на промените в работната директория)
изтрит: Джон.текст
изтрито: Мери.текст
Отпаднали препоръки / скривалище @ 0 (1e1968854fb5ca4d609e577822dc3280dbf928f6)
$ ls
ProjectFile1.txt ProjectFile2.текст

И вие имате своя незавършен проект 'ProjectFile1.txt 'и' ProjectFile2.txt 'назад.

Така че командата git stash ви помага да скриете работата си, за да можете да се върнете към нея по-късно.

21. git статус

Командата git status показва разликата между текущите файлове и фиксацията HEAD.

Ето пример:

$ git статус
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
преименуван: File2.txt -> File3.текст
Непроведени промени за фиксиране:
(използвайте 'git add ... 'за актуализиране на това, което ще бъде ангажирано)
(използвайте 'git checkout -- ... 'за отхвърляне на промените в работната директория)
модифициран: Файл1.текст

Това показва, че „File2.txt “се преименува на„ File3.txt ', който е готов за фиксиране, но промените във' File1.txt 'все още не е в зоната за постановка.

И така, добавяме всичко:

$ git add -A

Сега, когато проверяваме състоянието:

$ git статус
На клона майстор
Промени, които трябва да бъдат извършени:
(използвайте 'git reset HEAD ... 'да дезактивирате)
модифициран: Файл1.текст
преименуван на: File2.txt -> File3.текст

Виждаме, че всички промени са готови за ангажиране.

22. git таг

Командата git tag ви помага да създавате тагове за вашите важни исторически точки. Обикновено се използва за задаване на номера на версиите.

Командата git tag ще ви покаже текущите налични тагове:

$ git таг
v1.0
v2.0

Можете да маркирате с командния формат git tag :

$ git таг v3.0

За да видите какво има в маркера, можете да използвате командата git show:

$ git show v1.0
ангажиране 61e9e8aa1b98b2a657303e6822b291d2374314b5
Автор: Zak H
Дата: четвъртък 22 ноември 01:06:42 2018 -0800
Първо ангажиране
diff --git a / 1.txt b / 1.текст
нов файлов режим 100644
индекс 0000000 ... e69de29

Можете също да маркирате, като използвате хеш на фиксиране и команден формат git тагове :

$ git log --oneline
374efe9 Модифициран файл
a621765 Добавяне
6d6ed84 Втори ангажимент
61e9e8a Първо фиксиране
$ git таг v4.0 a621765
$ git show v4.0
ангажиране a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Автор: Zak H
Дата: четвъртък 22 ноември 01:15:55 2018 -0800
Добавяне
diff --git a / 1.txt b / 1.текст
индекс e69de29 ... 587be6b 100644
--- а / 1.текст
+++ б / 1.текст
@@ -0,0 +1 @@

В заключение

За всяка команда можете да използвате git -h, за да получите повече информация.

Допълнително проучване

  • https: // git-scm.com / docs
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...
Екранен тракпад и указател на мишката на AppyMouse за таблети с Windows
Потребителите на таблети често пропускат показалеца на мишката, особено когато са привични да използват лаптопите. Смартфоните и таблетите със сензоре...
Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...