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
$ 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 mytest5. git commit
Команда git commit запускается после команды git add. В нашем примере git add мы добавили файлы для отслеживания, но не зафиксировали их в репозитории Git. Отслеживание остается локальным, пока не будет сделана фиксация. Когда вы фиксируете изменения, они становятся частью постоянной записи.
Ниже мы запускаем 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 diffdiff --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 / myprojectdir2 / 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 --oneline1713734 Добавлены новые файлы
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 --oneline7f573d8 Коммит C: добавлен c.текст
795da3c Commit B: добавлен b.текст
0f4ed5b Commit A: добавлен.текст
И функциональная ветка:
$ git log --oneline8ed0c4e Коммит 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 --oneline9efa1a3 Коммит 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
Это подключит ваше репо к источнику, чтобы вы могли извлекать и нажимать.
17. git сбросить
Сброс git позволяет отключить добавленные файлы.
Допустим, вы добавили файл test.txt 'в ваш репозиторий:
$ сенсорный тест.текст$ git add -A
$ git status
О мастере филиала
В вашей ветке установлена последняя версия "origin / master".
Изменения, которые необходимо зафиксировать:
(используйте 'git reset HEAD
новый файл: test.текст
Однако вы решаете, что не хотите отслеживать 'тест.txt 'больше. Вы можете использовать git reset 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
[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 позволяет временно отказаться от работы, которую вы еще не готовы выполнить.
Предположим, вы работаете в репозитории со следующими файлами:
Джон.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 tagv1.0
v2.0
Вы можете пометить тег с помощью формата команды git tag
Чтобы увидеть, что находится в теге, вы можете использовать команду git show:
$ git show v1.0совершить 61e9e8aa1b98b2a657303e6822b291d2374314b5
Автор: Зак Х
Дата: 22 ноя, 01:06:42 2018 -0800
Первая фиксация
diff --git a / 1.txt b / 1.текст
новый файловый режим 100644
индекс 0000000… e69de29
Вы также можете пометить с помощью хэша фиксации и тега git формата команды
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
Дальнейшее изучение
- https: // git-scm.com / docs