Git

22 основных команды Git

22 основных команды Git
Git стал типичной системой контроля версий. Рост популярности Git можно объяснить его скоростью, маневренностью и универсальностью. Независимо от того, являетесь ли вы веб-разработчиком-фрилансером или разработчиком программного обеспечения для приложений корпоративного уровня, вы можете извлечь выгоду из использования Git. Это помогает вам отслеживать свои файлы с помощью систематического управления версиями. Git упрощает откат к более старым версиям кода или создание новых веток для экспериментов с текущей кодовой базой. Кроме того, Git - это распределенная система контроля версий, что означает, что вам не нужно всегда подключаться к центральному серверу, чтобы выполнять свою работу.Ниже приведены основные команды Git, которые помогут в ваших повседневных задачах. Простые примеры дадут вам представление о командах, чтобы вы могли легко запомнить синтаксис, когда вам нужно их использовать.

1. git добавить

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

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

Возьмем пример ниже:

Предположим, что в приведенном выше случае мы уже добавили ReadMe.текст. Но остальные файлы не добавлены.

Проверим статус:

$ git status
О мастере филиала
В вашей ветке установлена ​​последняя версия "origin / master".
Не отслеживаемые файлы:
(используйте 'git add … 'Включить в то, что будет совершено)
file1.текст
файл2.текст
folder1 /

Файлы и папки окрашены в красный цвет, что означает, что они не отслеживаются. Мы можем добавить их, используя:

$ git add file1.txt file2.txt folder1 / *

Если мы проверим статус сейчас:

$ git status
О мастере филиала
В вашей ветке установлена ​​последняя версия "origin / master".
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
новый файл: file1.текст
новый файл: file2.текст
новый файл: folder1 / file3.текст
новый файл: folder1 / file4.текст

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

2. git ветка

В Git легко выполнять ветвление. В других системах контроля версий это была дорогостоящая операция. Но алгоритмы Git оптимизированы для ветвления. Таким образом, вы можете использовать команду git branch всякий раз, когда хотите создать отдельную строку разработки, не беспокоясь о производительности.

Давайте посмотрим на следующий пример.

$ git status
О мастере филиала
В вашей ветке установлена ​​последняя версия "origin / master".
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
новый файл: file1.текст
новый файл: file2.текст
новый файл: folder1 / file3.текст
новый файл: folder1 / file4.текст

Обратите внимание, что мы находимся в «Мастере ветки». Когда вы создаете новый проект, вы попадете в мастер ветки. Вы также можете использовать команду git branch -a, чтобы узнать, в какой ветке вы находитесь:

$ git branch -a
* владелец

Вышеупомянутое говорит вам, что существует только одна ветка под названием «master», а звездочка (*) означает, что вы находитесь в этой ветке.

Создадим новую ветку под названием «тестирование»:

$ git тестирование ветки

Теперь мы можем снова проверить ветки:

$ git branch -a
* владелец
тестирование

Несмотря на то, что мы все еще находимся в ветке master, мы также можем видеть новую ветвь test, которая была создана. Ветвь 'testing' является копией ветки 'master'.

3. git checkout

Команда git checkout переводит вас в ветку, где вы можете работать с имеющимися там ресурсами. Вы можете думать о ветвях как о реках и ручьях. С веткой вы создаете новый поток. С помощью команды checkout вы переходите в этот поток.

Давайте проверим ветку "тестирование" из предыдущего примера:

$ git checkout тестирование
Перешел в ветку "тестирование"

Теперь давайте еще раз проверим статус и ветки:

$ git status
О тестировании ветки
ничего не фиксировать, рабочий каталог чист
$ git branch -a
владелец
* тестирование

Из команды git branch -a видно, что мы переместили в тестовую ветку.

4. git clone

Команда git clone позволяет сделать копию любого репозитория Git. Как только вы клонируете репозиторий, новая клонированная папка начнет отслеживать изменения локально. Поскольку Git распространяется, клон представляет собой полностью автономный репозиторий Git.

Чтобы показать, как работает клонирование, давайте создадим новый репозиторий:

$ mkdir dir1
$ cd dir1
$ 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 clone

клонировать myproject:

$ mkdir dir2
$ cd dir2
$ git clone / dir1 / myproject /
Клонирование в myproject…
Выполнено.
$ ls
мой проект

Команда git clone также работает с URL-адресом.

$ git clone https: // github.com / test / test.мерзавец

Также вы можете изменить имя клона, указав его после адреса репозитория Git:

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

5. git commit

Команда git commit запускается после команды git add. В нашем примере git add мы добавили файлы для отслеживания, но не зафиксировали их в репозитории Git. Отслеживание остается локальным, пока не будет сделана фиксация. Когда вы фиксируете изменения, они становятся частью постоянной записи.

Ниже мы запускаем git commit -m команда:

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

Если вы не используете параметр -m для добавления комментария, Git откроет текстовый редактор по умолчанию и попросит его. Комментарии считаются хорошей практикой контроля версий. Так что всегда оставляйте содержательные комментарии в своем коммите.

6. git config

Команда git config позволяет вам настраивать различные параметры для вашего репозитория git. Например, вы можете использовать git config -global команда для получения и установки вашего пользователя.имя и пользователь.электронное письмо.

Вот как вы можете установить значения:

$ git config - глобальный пользователь.имя 'Zak H'
$ git config - глобальный пользователь.электронная почта zakh @ example.ком

Вот как вы можете проверить значения:

$ git config - глобальный пользователь.название
Зак Х
$ git config - глобальный пользователь.электронное письмо
зак @ пример.ком

7. git diff

Команда git diff помогает увидеть различия между файлами и папками. Если вы вносите изменения в файл, это полезный инструмент для быстрой оценки внесенных вами изменений.

Допустим, мы начинаем работу с ReadMe.txt файл с двумя строками. Затем мы избавляемся от второй строки и добавляем третью строку.

Теперь, если мы запустим команду diff, она покажет различия между зафиксированной версией и локальной измененной версией в промежуточной области. Вот как это будет выглядеть:

$ git diff
diff --git a / ReadMe.txt b / ReadMe.текст
индекс 9475ddc… 1804904 100644
--- a / ReadMe.текст
+++ б / 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 вместо grep в Linux заключается в том, что git grep быстрее для репозиториев git.

10. git журнал

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

$ git журнал
совершить 171373479fc309846ef605fbe650933767afd0fb
Автор: Зак Х
Дата: 21 ноя, среда, 20:26:32 2018 -0800
Добавлены новые файлы
совершить 5a0bd759506d20b2b989873258bf60d003aa3d36
Автор: Зак Х
Дата: 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 branch test
$ git branch -a
* владелец
контрольная работа
$ git checkout test
Перешел в ветку "тест"

В ветке test внесем некоторые изменения:

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

Мы добавили в тест два файла.

$ git branch -a
владелец
* контрольная работа
$ ls
Файл1.txt File2.txt ReadMe.текст
$ git checkout master
Перешел на ветку master
$ git branch -a
* владелец
контрольная работа
$ ls
Прочти меня.текст

Из вышесказанного видно, что File1.txt и File2.txt существует в ветке 'test', но не в 'master'.

Давай объединимся сейчас.

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

Теперь у нас есть File1.txt 'и' File2.txt 'в ветке' master 'тоже.

Примечание. Думайте о слиянии как об операции вытягивания. Вы должны быть в ветке, в которую хотите слиться. В этом случае вы находитесь в ветке master и получаете изменения из ветки test.

12. git mv

Git mv - это сокращенная команда для запуска команд git add и git rm. Его можно использовать для переименования файлов.

Вот пример:

ReadMe $ git mv.txt ReadMe.мкр
$ git status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
переименован: ReadMe.txt -> ReadMe.мкр

13. мерзавец тянуть

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

Вот пример запуска git pull origin, как и git fetch one (мы запускаем пул-реквест из клона, чтобы получить изменения из исходного репозитория 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.мкр | 0
4 файла изменено, 3 прошивки (+)
режим создания 100644 File3.текст
переименовать ReadMe.txt => ReadMe.мкр (100%)

Вы можете видеть, что изменения были загружены из источника и объединены в клон.

14. git push

Команда git push используется для отправки изменений в удаленные репозитории. Вот пример выполнения команды push:

$ git push origin master
Подсчет объектов: 2, готово.
Дельта-сжатие с использованием до 4 потоков.
Сжатие объектов: 100% (2/2), готово.
Запись объектов: 100% (2/2), 242 байта | 0 байт / с, выполнено.
Всего 2 (дельта 1), повторно используется 0 (дельта 0)
К / LearnGIT / git_essentials / myproject
e67f932… 90dc546 master -> master

Команда git push origin master отправляет изменения в 'master' ветку источника (репозиторий Git, который вы клонировали) из 'master' ветки клонированного репозитория. Визуально толчок выглядит так:

клонированный / мастер -> происхождение / мастер

15. git rebase

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

Тестовая ветка была объединена с ветвью master для создания нового коммита.

При перебазировании происходит следующее:

Изменения из списка изменений E и F пересчитываются и фиксируются в конце главной ветви. Ребазинг помогает упростить ветки.

Предположим, у нас есть такая ситуация в ветке master:

$ git log --oneline
7f573d8 Коммит C: добавлен c.текст
795da3c Commit B: добавлен b.текст
0f4ed5b Commit A: добавлен.текст

И функциональная ветка:

$ git log --oneline
8ed0c4e Коммит F: изменен b.текст
6e12b57 Коммит E: изменен.текст
795da3c Commit B: добавлен b.текст
0f4ed5b Commit A: добавлен.текст

Если мы перебазируем, мы получим git rebase master:

функция $ git checkout
Переключен на ветку 'особенность'
$ git rebase master

Сначала перематываю голову, чтобы воспроизвести свою работу поверх нее ..

Применение: Коммит E: изменен.текст
Применение: фиксация F: изменено b.текст
Затем объедините "объект" в "мастер".
$ git checkout master
Перешел на ветку master
$ git функция слияния
Обновление 7f573d8… 9efa1a3
Перемотка вперед
а.txt | 1 +
б.txt | 1 +
2 файла изменено, 2 прошивки (+)

Теперь, если вы перейдете к ветке master и feature, вы увидите одни и те же журналы:

$ git log --oneline
9efa1a3 Коммит F: изменен b.текст
8710174 Коммит E: изменен.текст
7f573d8 Коммит C: добавлен c.текст
795da3c Commit B: добавлен b.текст
0f4ed5b Commit A: добавлен.текст

Ребазинг сдавил их вместе.

Примечание. Никогда не используйте ребазирование в общедоступных репозиториях, поскольку разработчики столкнутся с серьезными проблемами слияния.

16. git удаленный

Удаленная команда git позволяет вам установить удаленный сервер для вашего репозитория. В случае клонирования исходный репозиторий автоматически становится удаленным.

Например:

$ pwd
/ LearnGIT / git_essentials / test
$ git удаленный -v
происхождение / LearnGIT / git_essentials / myproject (выборка)
происхождение / LearnGIT / git_essentials / myproject (push)

Выше показано, что удаленный сервер для «теста» - это другая папка с именем «myproject». Причина в том, что для моего проекта был клонирован тест.

Но удаленный сервер не обязательно должен быть локальным. У вас может быть что-то вроде этого с URL-адресом:

$ git удаленный -v
происхождение https: // github.com / zakh / myproject (получить)
происхождение https: // github.com / zakh / myproject (нажать)

Вы можете настроить удаленный репозиторий git с помощью команды git remote add :

$ git удаленное добавление источника https: // github.com / zakh / myproject

Это подключит ваше репо к источнику, чтобы вы могли извлекать и нажимать.

17. git сбросить

Сброс git позволяет отключить добавленные файлы.

Допустим, вы добавили файл test.txt 'в ваш репозиторий:

$ сенсорный тест.текст
$ git add -A
$ git status
О мастере филиала
В вашей ветке установлена ​​последняя версия "origin / master".
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
новый файл: test.текст

Однако вы решаете, что не хотите отслеживать 'тест.txt 'больше. Вы можете использовать git reset Head команда для деактивации файла:

$ git сбросить тест HEAD.текст

Если вы проверите статус, файл снова не будет отслеживаться:

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

Файл 'test.txt 'больше не отслеживается.

18. git revert

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

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

Мы создали MyFile.txt 'и зафиксировал два изменения, поэтому в файле есть строки' Test 1 'и' Test 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 Начальная фиксация
$ cat MyFile.текст
Тест 1

Мы видим, что был создан новый хеш фиксации, который отменил фиксацию строки Test 2. Теперь в файле есть только строка Test 1.

19. git rm

Команда git rm настраивает файлы для будущего удаления. Он помещает файлы, подлежащие удалению, в промежуточную область.

$ git rm test.текст
rm 'тест.текст'
$ git status
О мастере филиала
Ваша ветка опережает origin / master на 3 коммита.
(используйте git push для публикации ваших локальных коммитов)
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
удалено: тест.текст

Вы должны зафиксировать изменения, чтобы удаление вступило в силу.

20. мерзавец

Команда git stash позволяет временно отказаться от работы, которую вы еще не готовы выполнить.
Предположим, вы работаете в репозитории со следующими файлами:

$ ls
Джон.txt Мэри.текст
Вы хотите изменить эти файлы, чтобы они были более ориентированы на проекты. Итак, вы начинаете с:
$ git mv Джон.txt ProjectFile1.текст
$ ls
Мэри.txt ProjectFile1.текст
$ git status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
переименован: Джон.txt -> ProjectFile1.текст

В процессе переименования и обновления 'John.txt 'в' ProjectFile1.txt ', вы получаете запрос на изменение чего-либо в проекте. Но вы не готовы отправить ProjectFile1.текст'. Так ты его прячешь.

$ git stash

Сохраненный рабочий каталог и состояние индекса WIP на главном сервере: f0b5a01 Инициировать Джон и Мэри

HEAD теперь на f0b5a01. Начните с Джона и Мэри

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

Ваша местная рабочая среда вернулась туда, где вы были до внесения изменений в проект. После, вместо того, чтобы вернуться к Джону.txt ', вы решаете работать над' Мэри.txt 'сейчас:

$ git mv Мэри.txt ProjectFile2.текст
$ git status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
переименован: Мэри.txt -> ProjectFile2.текст
$ ls
Джон.txt ProjectFile2.текст

Тебя снова прерывают, и ты прячешь новую работу над 'Мэри.текст':

$ git stash
Сохраненный рабочий каталог и состояние индекса WIP на главном сервере: f0b5a01 Инициировать Джон и Мэри
HEAD теперь на f0b5a01. Начните с Джона и Мэри
$ ls
Джон.txt Мэри.текст

После завершения работы по прерыванию вы проверяете список тайников:

$ git список тайников
stash @ 0: WIP на главном сервере: f0b5a01 Инициировать Джон и Мэри
stash @ 1: WIP на главном сервере: f0b5a01 Инициировать Джона и Мэри

У вас есть две незавершенные работы (WIP) в тайнике. В первый раз, когда вы открываете тайник, вы получаете последнюю Мэри.txt 'изменяется:

$ git stash pop
Удаление Мэри.текст
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
новый файл: ProjectFile2.текст
Изменения, не предназначенные для фиксации:
(используйте 'git add / rm … ', Чтобы обновить то, что будет зафиксировано)
(используйте 'git checkout -- … 'Чтобы отменить изменения в рабочем каталоге)
удалено: Мэри.текст
Выпавшие ссылки / тайник @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

Во второй раз, когда вы открываете тайник, вы получаете 'Джон.txt'-связанные изменения:

$ git stash pop
Удаление Джона.текст
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте '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 status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
переименовано: File2.txt -> Файл3.текст
Изменения, не предназначенные для фиксации:
(используйте 'git add … ', Чтобы обновить то, что будет зафиксировано)
(используйте 'git checkout -- … 'Чтобы отменить изменения в рабочем каталоге)
изменено: File1.текст

Он показывает, что 'File2.txt 'переименовывается в' File3.txt ', который готов к фиксации, но изменения в' File1.txt 'еще не находится в области подготовки.

Итак, складываем все:

$ git add -A

Теперь, когда мы проверяем статус:

$ git status
О мастере филиала
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD ... 'убрать сцену)
изменено: File1.текст
переименован: File2.txt -> Файл3.текст

Мы видим, что все изменения готовы к фиксации.

22. git tag

Команда git tag помогает создавать теги для важных исторических моментов. Обычно используется для установки номеров версий.

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

$ git tag
v1.0
v2.0

Вы можете пометить тег с помощью формата команды git tag :

$ git tag v3.0

Чтобы увидеть, что находится в теге, вы можете использовать команду git show:

$ git show v1.0
совершить 61e9e8aa1b98b2a657303e6822b291d2374314b5
Автор: Зак Х
Дата: 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 tag v4.0 a621765
$ git show v4.0
совершить a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Автор: Зак Х
Дата: 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
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...