Git Yandex Practicum - uniqcle/DevOps GitHub Wiki

Работа с файлами и папками

Создание

touch index.html                      //создай файл 
touch index.html style.css script.js // если нужно создать сразу несколько файлов
mkdir second-project                 // создай папку 

Копирование и перемещение

cp file.txt ~/my-dir  // скопируй файл в другое место;
mv file.txt ~/my-dir  // перемести файл или папку в другое место.

Чтение

cat file.txt  // (от англ. concatenate and print) распечатай содержимое файла file.txt.

Удаление

rm about.html          // удали файл  
rmdir images          // удали папку images;
rm -r second-project // удали папку second-project и всё, что она содержит.

Начало работы с Git

Инициализация репозитория

git init (от англ. initialize, «инициализировать») — инициализируй репозиторий.

Синхронизация локального и удалённого репозиториев

git remote add origin https://github.com/YandexPracticum/first-project.git // привяжи локал репо к удалённому с URL
git remote -v             // (от англ. verbose, «подробный») проверь, что репозитории действительно связались;
git push -u origin main  // в первый раз загрузи все коммиты из локального репо в удалённый с названием origin.
git push                // загрузи коммиты в удалённый репо после того, как он был привязан с помощью флага -u.

Подготовка файла к коммиту

git add todo.txt  // подготовь файл к коммиту;
git add --all    // подготовь к коммиту сразу все файлы, в которых были изменения, и все новые файлы;
git add .        // подготовь к коммиту текущую папку и все файлы в ней.

Создание и публикация коммита

git commit -m "Комментарий к коммиту." // сделай коммит  
git push                              // добавь изменения в удалённый репозиторий.

Просмотр информации о коммитах

git log            // выведи подробную историю коммитов;
git log --oneline  // покажи краткую информацию о коммитах: сокращённый хеш и сообщение.

Добавление изменений в последний коммит

git commit --amend --no-edit            // добавь изменения к последнему коммиту и оставь сообщение прежним;
git commit --amend -m "Новое сообщение" //  измени сообщение к последнему коммиту на Новое сообщение.

«Откат» файлов и коммитов

git restore --staged hello.txt  // переведи файл hello.txt из состояния staged обратно в untracked или modified;
git restore hello.txt           // верни файл hello.txt к последней версии, которая была сохранена через git commit или git add;
git reset --hard b576d89       // удали все незакоммиченные изменения из staging и «рабочей зоны» вплоть до указанного коммита.

Просмотр изменений

git diff                 // покажи изменения в «рабочей зоне», то есть в modified-файлах;
git diff a9928ab 11bada1 // выведи разницу между двумя коммитами;
git diff --staged        // покажи изменения, которые добавлены в staged-файлах.