Skip to content

MarkinGrinch/myGitCheatSheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

myGitCheatSheet

GIT - terminal - GitHub // мои заметки. GIT - terminal - GitHub

pwd Узнать, где вы сейчас

В macOS есть папка /Users

cd перейти к домашней директории cd ~ домашней директории garivprogari@Garivprogaris-MacBook-Pro ~ % ls Вывести содержимое директории

Обратите внимание: если в названии папки есть пробелы, при вводе нужно использовать кавычки. cd "Фотографии с дня рождения"

cd .. # переходим на уровень выше

команда с точкой. Чтобы обратиться к текущей директории, можно использовать .. Но это нужно довольно редко — например, для запуска скриптов и программ, которые принимают папку в качестве параметра.

cd github/open-source-project # переходим через несколько директорий

/projects/github/open-source-project # переместились сразу в папку open-source-project внутри github

можно вызвать ls с флагом -a и вывести расширенный список. В нём отобразятся все скрытые файлы, которые начинаются с символа . (например, файлы конфигурации). В том числе два особых файла . и .., которые обозначают текущую и родительскую директории.

ls -a # вывели список, в котором отображаются скрытые файлы ., .. и .git . .. .git

ls может работать с символом домашней директории (~) и предыдущей директории (..). Например, ls ~ выведет содержимое домашней директории вне зависимости от того, что показывает pwd. А ls .. покажет содержимое родительской директории.

touch Чтобы создать файл

$ touch my-new-file.txt # создали файл my-new-file.txt

Хорошей практикой при создании файла считается указывать его расширение (в примере — .txt). Это позволит операционной системе выбрать подходящую программу, чтобы открыть файл. А ещё поможет другому человеку понять, какое содержимое находится внутри.

mkdir создания директорий $ mkdir new-dir # создали директорию new-dir

Можно создать целую структуру директорий одной командой с помощью флага -p $ mkdir -p dir1/dir-inside/dir-deeper-inside

создали папку dir-deeper-inside в папке dir-inside, которая находится в папке dir1

можно использовать обе команды вместе с символом домашней директории (~) или родительской директории (..). Например, команда mkdir ~/my-git-projects создаст папку my-git-projects внутри домашней директории

А команда touch ../../file.txt создаст файл file.txt на две папки выше по иерархии. Допустим, если вы находитесь в директории projects/git/hello, команда touch ../../file.txt создаст файл по такому пути: projects/file.txt

Копирование файлов — cp

$ cp что_копируем куда_копируем

$ cp index.html src/

скопировали index.html в папку src

$ cp что_копируем что_копируем что_копируем куда_копируем

$ cp index.html style.css script.js src/

скопировали три файла (index.html, style.css и script.js) в папку src

Перемещение файлов и папок — mv команды mv аналогичен синтаксису cp. После имени команды указывают список файлов и папок, которые нужно переместить, а затем — папку, в которую нужно выполнить перемещение.

$ mv table.csv ./very-important-files

сначала указываем имя файла, который хотим переместить, потом путь — куда перемещаем

$ cd very-important-files $ ls table.csv

перешли в папку very-important-files и проверили, что всё сработало

Команда touch создаёт файл, а команда mkdir — директорию. С помощью флага -p можно создать целую структуру директорий одной командой: mkdir -p. Для копирования файлов используют команду cp, для перемещения — mv.

Чтение файлов — cat

$ cat myfile.txt # распечатали содержимое файла myfile.txt file-content-1 file-content-2 Команда cat работает только с текстовыми файлами. Вывести этой командой файл другого типа (например, изображение) не получится.

Удаление файлов и папок — rm, rmdir, rm -r

$ rm example.txt # удалили файл example.txt из текущей папки

$ rmdir images # команда удалит папку images из текущей директории, # если папка images пуста

           Если в папке, которую вы пытаетесь стереть, есть какие-то файлы, то командная строка не удалит её и выведет сообщение о том, что папка не пуста (англ. Directory not empty).
           
           $ rmdir images
           rmdir: images: Directory not empty
           $
           
           $ rm -r images # удалили папку images со всем её содержимым из текущей директории 
           
           В этом случае команда rm -r (-r — от англ. recursive, «рекурсивный») рекурсивно удаляет файлы и папки. Это значит, что удаление будет последовательно применяться к каждому из элементов в этой папке — пока не сотрёт их все. Затем команда удалит пустую директорию.
           
           💡 Будьте осторожны: удаление объектов командами rm и rmdir необратимо — в этом случае файлы и папки не попадают в корзину и исчезают навсегда.
           
           Эффективная работа с командной строкой
           
           Выполняйте сразу несколько команд

Команды в терминале необязательно вбивать и выполнять по очереди. Их можно указывать не по одной, а сразу списком. Для этого их нужно разделить двумя амперсандами (&&).

$ mkdir second-project && cd second-project && touch index.html style.css

создаём папку second-project,

переходим в папку second-project

и создаём в ней два файла: index.html и style.css

Tab автоматически дописывает не только команды, но и пути. Начните печатать имя папки или файла (они должны быть в той же директории) и нажмите Tab. Терминал заполнит имя автоматически.

$ cd /Users/ # перешли в папку Users

$ cd U[Tab] # ввели первую букву имени пользователя и нажали Tab

имя папки Username подставится автоматически

$ pwd # теперь проверим, где мы сейчас находимся /Users/Username # мы в папке Username!

при навигации в другую директорию. Если ввести cd с названием папки, а затем нажать Tab, в консоль в качестве подсказки выведутся все возможные пути.

$ cd ~/[Tab] # вывели список директорий, чтобы понять, куда переходить Applications/ Downloads/ Library/ Parallels/ Public/ diagrams/ memes/ python/ Desktop/ Dropbox/ Movies/ Pictures/ bin/ docs/ papers/ tmp/ Documents/ Exercism/ Music/ Postman/ books/ go/ projects/

Если вывод будет слишком большой, консоль спросит, нужно ли показать все возможные варианты.

$ cd ~/[Tab] zsh: do you wish to see all 426 possibilities (429 lines)? # точно хотите увидеть все 426 варианта (429 линий)?

Чтобы подтвердить вывод, нужно нажать y, а чтобы отменить автодополнение — n.

Применяйте команды для быстрой навигации

Напомним основные: pwd — проверить, где мы находимся; ls — посмотреть список файлов/папок в директории; cd — перейти в выбранную папку. С помощью этих команд можно быстро перемещаться между каталогами и изучать их содержимое.

напечатайте в командной строке слеш (/) и дважды нажмите Tab. / Applications/ Network/ Library/
System/ Volumes/ Users/

содержимое корневой директории macOS

В эту директорию тоже можно быстро перемещаться — с помощью команды cd / + Enter (если у вас macOS или Linux).

В домашнюю директорию можно попасть так же быстро. Вы уже знаете, как это сделать. Символ «тильда» (~) по умолчанию хранит ссылку на домашнюю директорию. Поэтому, чтобы переместиться в неё, достаточно напечатать ~ и нажать Enter.

$ cd ~ $ pwd /Users/Username

$ cd ~/Documents # папка Documents хранится в домашней директории $ pwd /Users/Username/Documents

С помощью && можно выполнить несколько команд сразу — одну за другой. Команды, которые вы выполняете в консоли, попадают в историю. Вы можете перемещаться по этой истории при помощи стрелок ↑↓. При нажатии на Tab консоль предложит несколько вариантов продолжения команды. Символами / и ~ можно быстро перемещаться к корневой и домашней директориям.

Работа с файлом настройки .gitconfig

Навигация pwd (от англ. print working directory, «показать рабочую папку») — покажи, в какой я папке; ls (от англ. list directory contents, «отобразить содержимое директории») — покажи файлы и папки в текущей папке; ls -a — покажи также скрытые файлы и папки, названия которых начинаются с символа .; cd first-project (от англ. change directory, «сменить директорию») — перейди в папку first-project; cd first-project/html — перейди в папку html, которая находится в папке first-project; cd .. — перейди на уровень выше, в родительскую папку; cd ~ — перейди в домашнюю директорию (/Users/Username); cd / — перейди в корневую директорию.

Работа с файлами и папками Создание touch index.html (англ. touch, «коснуться») — создай файл index.html в текущей папке; touch index.html style.css script.js — если нужно создать сразу несколько файлов, можно напечатать их имена в одну строку через пробел; mkdir second-project (от англ. make directory, «создать директорию») — создай папку с именем second-project в текущей папке. Копирование и перемещение cp file.txt ~/my-dir (от англ. copy, «копировать») — скопируй файл в другое место; mv file.txt ~/my-dir (от англ. move, «переместить») — перемести файл или папку в другое место. Чтение cat file.txt (от англ. concatenate and print, «объединить и распечатать») — распечатай содержимое текстового файла file.txt. Удаление rm about.html (от англ. remove, «удалить») — удали файл about.html; rmdir images (от англ. remove directory, «удалить директорию») — удали папку images; rm -r second-project (от англ. remove, «удалить» + recursive, «рекурсивный») — удали папку second-project и всё, что она содержит.

Полезные возможности Команды необязательно печатать и выполнять по очереди. Можно указать их списком — разделить двумя амперсандами (&&). У консоли есть собственная память — буфер с несколькими последними командами. По ним можно перемещаться с помощью клавиш со стрелками вверх (↑) и вниз (↓). Чтобы не вводить название файла или папки полностью, можно набрать первые символы имени и дважды нажать Tab. Если файл или папка есть в текущей директории, командная строка допишет путь сама. Например, вы находитесь в папке dev. Начните вводить cd first и дважды нажмите Tab. Если папка first-project есть внутри dev, командная строка автоматически подставит её имя. Останется только нажать Enter.

	Сделать папку репозиторием — git init
	$ cd ~/dev/first-project # перешли в нужную папку

    $ git init # создали репозиторий

«Разгитить» папку, если что-то пошло не так, — rm -rf .git Если вы случайно сделали Git-репозиторием не ту папку, её можно «разгитить». Для этого нужно удалить скрытую подпапку .git.

Разберём подробнее, что такое -rf: ключ -r (от англ. recursive — «рекурсивно») позволяет удалять папки вместе с их содержимым; ключ -f (от англ. force — «заставить») избавит вас от вопросов вроде «Вы точно хотите удалить этот файл? А этот? И этот тоже?».

Проверить состояние репозитория — git status

Отлично! Подведём итоги: Инициализировать репозиторий можно с помощью команды git init. Проверить статус, или состояние, репозитория поможет команда git status. Если вы ошиблись и случайно инициализировали не ту папку, можно «разгитить» её — удалить скрытую подпапку .git.

Подготовить файлы к сохранению — git add

git add --all (от англ. add — «добавить» + от англ. all — «всё»). Ключ, или флаг, --all позволяет подготовить к сохранению все файлы в репозитории.

$ git add --all # подготовили к сохранению все файлы в репозитории $ git status # проверили статус

Добавлять файлы можно и по одному, без ключа --all. $ git add todo.txt $ git add readme.txt $ git status Также можно добавить текущую папку целиком — в этом случае все файлы в ней тоже будут добавлены. Обратиться к текущей папке в Bash позволяет точка (.). $ git add . # добавить всю текущую папку $ git status Вы можете использовать любой из этих вариантов — результат будет одинаковый

Ура! Очередной урок позади. Подытожим: Команда git add позволяет подготовить файл к сохранению. Команда git add --all подготовит к сохранению сразу все файлы. С помощью git add . можно добавить в репозиторий текущую папку со всеми файлами.

		Выполнить коммит — git commit
		
		Сделать коммит можно командой git commit c ключом -m (от англ. message — «сообщение»), который присваивает коммиту сообщение.
		
		Обычно в таком сообщении поясняется, в чём именно состояли изменения. Это как заметки на полях: благодаря им проще читать и понимать текст. Сообщение коммита выполняет те же функции — улучшает понимание и упрощает навигацию. Оно пишется после ключа -m в кавычках.
		
		$ git commit -m "Мой первый коммит!"
		
		Сделать скрытые файлы видемыми
		 defaults write com.apple.finder AppleShowAllFiles true

killall Finder Обратить скрыть defaults write com.apple.finder AppleShowAllFiles false killall Finder

			Просмотреть историю коммитов — git log
			
			
			
			GitHub — платформа, которая работает с Git и упрощает командное взаимодействие.

Кроме GitHub, существуют и другие подобные платформы, например GitLab, Bitbucket и так далее. Git — это консольный инструмент для работы с локальными и удалёнными репозиториями. Он не связан напрямую ни с одной из платформ и развивается отдельно от них.

Замечательно! Подведём итоги: SSH — протокол, который обеспечивает безопасный обмен данными в сети и использует для этого ключи. SSH-ключ — ваш виртуальный идентификатор в GitHub. Как ключ от квартиры, он позволяет получить доступ к GitHub-репозиторию. Также SSH используется для доступа к другим удалённым серверам. SSH-ключ состоит из двух частей — публичной и приватной. Приватный ключ шифрует данные, а публичный — расшифровывает. Приватным ключом ни в коем случае нельзя делиться!

скопировать содержимое ключа в буфер обмена:

$ pbcopy < ~/.ssh/id_rsa.pub

для ed25519:

$ pbcopy < ~/.ssh/id_ed25519.pub

Привязать удалённый репозиторий к локальному — git remote add

Убедиться, что репозитории связаны, — git remote -v

git push origin master

git push origin main

В дальнейшем при работе с удалённым репозиторием флаг -u можно опустить и писать просто git push.

Копилка ваших знаний о Git постепенно пополняется! Вот о чём мы рассказали: Коммиты хранятся в ветках. Начальная ветка создаётся автоматически и называется main или master. За отправку изменений на удалённый репозиторий отвечает команда git push. Интерфейс GitHub позволяет удобно просмотреть все коммиты в репозитории, а также изменения в этих коммитах.

Название проекта и его краткое описание: кем создан, для чего, какие решает задачи и какие закрывает проблемы. Технологии, которые применяются в проекте. В чём его отличие от аналогичных. Документация проекта — подробная инструкция о том, что представляет собой проект. Планы проекта, если они есть.

Преимущество README.md в том, что средства командной работы (такие, как GitHub) могут отображать его содержимое в браузере в виде удобной разметки. Для этого нужно не просто залить текст, но и настроить шрифт, заголовки и отступы с помощью markdown. Маркда́ун — это специальный язык разметки. Он позволяет красиво отформатировать текстовый документ. Разберём базовый синтаксис этого языка. Все правила запоминать не нужно: при оформлении репозитория вы всегда можете вернуться к этому уроку. Заголовки, абзацы и перенос Заголовки разных уровней создают решётками.

H1 — заголовок первого уровня, самый большой

H2 — заголовок второго уровня, поменьше

H3

H4

H5
H6 — заголовок шестого уровня, самый маленький

Можно добавить черту под заголовком или абзацем.

Заголовок 4

Текст над чертой


Текст под чертой Чтобы сделать разрыв строки, нужно поставить два пробела (в примере ниже они обозначены точками ⋅⋅) или сочетание символов
.

Текст до переноса⋅⋅
Текст после переноса
Текст после второго переноса Чтобы начать новый параграф, в конце предыдущей строки должно стоять два символа переноса. Для этого нужно нажать Enter два раза. line

another line
Если сделать один перенос строки, как в примере ниже, и не поставить два пробела, текст сольётся в одну строку. line another line Вот пример текста в файле README.md.

About

GIT - terminal - GitHub // мои заметки.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published