Git CMD

Книга PRO git

Git Branching

Добро пожаловать в LearnGitBranching!

Работа с Git cmd

\opilane>cd desktop – \opilane\Desktop>cd .. – перейти с ветки десктоп и выйти с дестоп

>git config –global user.name “JekGuz” – Вести свое имя git

>git config –global user.email “jekaterina.guzek@gmail.com” – вводим эмаил

>git config –global –list – отображает глобальные операции в git

>git clone https://github.com/IrinaMerkulova/TARgv24.git – спомощью clone копируюем репозиторий себе на рабочий стол

>cd TARgv24 – перемечаемся в каталог

\TARgv24>git branch JekaterinaG – создаюем бранч

> git checkout JekaterinaG – проверить бранч

\TARgv24>git status – проверяем статус
On branch JekaterinaG
nothing to commit, working tree clean

C:\Users\kotik\TARgv24>git status
On branch JekaterinaG
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: nimi.txt

no changes added to commit (use “git add” and/or “git commit -a”) – смотреть статус после изменения файла

Git Exercises (www.w3schools.com)

git –version – используется для проверки установленной версии Git на вашем компьютере.

git init используется для инициализации нового репозитория Git в выбранной папке. Это первый шаг, чтобы начать использовать Git для управления версиями в проекте.

Когда вы выполняете git init в папке, Git создаёт скрытую папку .git, которая содержит всю необходимую информацию для управления версиями проекта (включая историю изменений, конфигурацию и т.д.).

git config user.name “w3schools-test” используется для настройки имени пользователя, который будет отображаться в метаданных каждого коммита, сделанного в этом репозитории. (вместо “w3schools-test” – нужно обычно использовать свой, чтобы другие видили, кто как и что commit)

git status

git add спользуется для добавления файла index.html в область подготовки (staging area). Это означает, что файл будет включён в следующий коммит.

т.к. в мое репозитории нет файла с названием index.html то я взяла свой

git add -A используется для добавления всех изменений во всех файлах (как новых, так и изменённых или удалённых) в область подготовки (staging area). Это удобно, если вы хотите подготовить все изменения в проекте для коммита.

git commit -m “First release!”

git status –short (или сокращённо git status -s) используется для отображения статуса репозитория в упрощённой и компактной форме. Она удобна, если вам нужно быстро оценить изменения в проекте, не читая подробный вывод команды git status.

к сожалению git status –short в мое репозитории нечего не выдал

git commit -a -m “New line added”

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

Чтобы выйти из просмотра журнала git log, выполните одно из следующих действий:

Нажмите клавишу Q, это вернёт нас в командную строку.
Если не работает Q, попробуйте Ctrl + C, чтобы принудительно выйти.

git status -help откроет подробное руководство по использованию команды git status

git help –all выводит полный список всех доступных команд Git, сгруппированных по категориям. Это полезно, если вы хотите увидеть все возможные команды, доступные в установленной версии Git.

(Нажмите клавишу Q, это вернёт нас в командную строку)

git branch hello-world-images (название нашего бранча будет hello-world-images можно использовать свой)

git branch используется для работы с ветками в Git. Она позволяет просматривать, создавать, удалять и управлять ветками в вашем репозитории.

git checkout hello-world-images

git checkout -b hello-you используется для создания новой ветки с именем hello-you и немедленного переключения на неё. Это удобный способ совместить два действия — создание и переключение на новую ветку.

git merge hello-you используется для слияния ветки hello-you с текущей активной веткой в вашем репозитории. Это означает, что изменения из ветки hello-you будут объединены в текущую ветку.

git branch -d hello-you используется для удаления ветки с именем hello-you, но только если она уже была слита с текущей веткой или с другой веткой.

Когда использовать?

  • Когда работа в ветке завершена и изменения уже слиты в другую ветку.
  • Чтобы удалить ненужные или устаревшие ветки.

При удалении так же нужно не находить на этой ветке, а переключиться на другую

git remote add origin https://github.com/x/y.git

используется для подключения локального репозитория к удалённому репозиторию (в данном случае на GitHub). Это позволяет вам отправлять (push) и получать (pull) изменения между локальным и удалённым репозиториями.

https://github.com/x/y.git – не был найдет ошибка 404

так как я понимаю сейчас на много безопаснее использовать ssh с ключем

fetch and then merge

Команды git fetch и git merge часто используются вместе, чтобы получить изменения из удалённого репозитория и затем объединить их с вашей локальной веткой.

Как это работает?

git fetch:

Загружает изменения (коммиты, ветки, метки) из удалённого репозитория в локальный.
При этом изменения не вносятся в вашу текущую рабочую ветку.
Новые данные сохраняются в удалённые ветки, такие как origin/main.

git merge:

После выполнения git fetch, вы используете git merge для объединения изменений из удалённой ветки (например, origin/main) в вашу локальную ветку (например, main).

git fetch origin используется для получения всех изменений из удалённого репозитория, связанного с именем origin (см выше)

git merge origin/master используется для объединения изменений из удалённой ветки origin/master в вашу текущую локальную ветку.

git pull origin используется для получения изменений из удалённого репозитория (по умолчанию из ветки origin/main или той ветки, с которой связана ваша текущая локальная ветка) и автоматического объединения этих изменений с вашей текущей веткой.

git push origin используется для отправки изменений из вашей локальной ветки в удалённый репозиторий, связанный с именем origin. Обычно это отправка коммитов в соответствующую удалённую ветку.

git push –set-upstream origin hello-you

git branch -a используется для отображения всех веток в вашем репозитории, включая как локальные, так и удалённые ветки.

git branch -r используется для отображения только удалённых веток, доступных в вашем репозитории. Это удобно, когда вы хотите увидеть список всех веток, находящихся на удалённом сервере, без отображения локальных веток.

git clone https://abc.com/x/y.git используется для создания копии удалённого репозитория (в данном случае, расположенного по адресу https://abc.com/x/y.git) на вашем локальном компьютере.

git clone: Клонирует указанный удалённый репозиторий.
https://abc.com/x/y.git: URL удалённого репозитория, который будет клонирован.
newlife: Имя папки, в которую будет скопирован репозиторий.

git remote rename origin upstream эта команда переименовывает удалённый репозиторий с текущим именем origin на новое имя upstream.

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

temp/ — это шаблон, который указывает на папку (директорию) temp и всё её содержимое. Обычно этот шаблон используется в файле .gitignore для игнорирования указанной директории и всех файлов внутри неё в Git.

temp?.log используется для указания всех файлов, которые:

Начинаются с имени temp.
За именем temp следует один произвольный символ (например, temp1, tempA).
Заканчиваются на расширение .log.

Примеры файлов, которые подходят под шаблон:
temp1.log
tempA.log
temp_.log
Примеры файлов, которые не подходят:
temp.log (нет символа после temp).
temp12.log (две дополнительные буквы, а не одна).
example_temp.log (не начинается с temp).

*.log: Игнорирует все файлы с расширением .log в проекте (например, error.log, debug.log, temp.log и т.д.).
!main.log: Исключение из правила, позволяющее не игнорировать файл main.log.

git remote add ssh-origin git@abc.com:x/y.git

git remote add: Добавляет новый удалённый репозиторий (в данном случае с именем ssh-origin) в ваш локальный репозиторий.

ssh-origin: Это имя, под которым удалённый репозиторий будет зарегистрирован в локальном репозитории. Вы можете выбрать любое удобное имя.

git@abc.com:x/y.git: SSH-адрес удалённого репозитория, который используется для взаимодействия через SSH-протокол.

git remote set-url origin git@abc.com:x/y.git Эта команда изменяет URL для удалённого репозитория с именем origin. Теперь вместо старого URL будет использоваться новый адрес git@abc.com:x/y.git. Обычно это необходимо, чтобы переключиться между протоколами (например, с HTTPS на SSH) или изменить адрес удалённого репозитория.

git log –oneline отображает историю коммитов в компактной и удобной для чтения форме, где каждая строка представляет один коммит.

git revert HEAD отменяет изменения, сделанные в последнем коммите (указанном как HEAD), и создаёт новый коммит, который возвращает эти изменения. Это безопасный способ отмены, так как история репозитория остаётся неизменной, и вы можете видеть, что коммит был отменён.

Ctrl + X для выхода.

git revert HEAD –no-edit отменяет изменения последнего коммита (HEAD) в репозитории и сразу же создаёт новый коммит с автоматически сгенерированным стандартным сообщением.

git revert HEAD~1 Эта команда отменяет изменения из предпоследнего коммита (коммита, который находится на один шаг раньше от текущего HEAD) и создаёт новый коммит для фиксации этих изменений.

git reset abc1234 сбрасывает текущую ветку к указанному коммиту abc1234. Существует несколько типов сброса, в зависимости от флагов, которые вы укажете

По умолчанию (–mixed) Сбрасывает указатель ветки (HEAD) на коммит abc1234. Изменения после коммита abc1234 останутся в рабочей директории, но не будут добавлены в индекс (staging area).

Мягкий сброс (–soft) Сбрасывает указатель ветки (HEAD) на коммит abc1234.
Все изменения после abc1234 останутся в индексе (готовы для коммита).

Жёсткий сброс (–hard) Сбрасывает указатель ветки (HEAD) на коммит abc1234.
Полностью удаляет все изменения, сделанные после abc1234, из рабочей директории и индекса.

git commit –amend -m ” Updated index “ используется для изменения последнего коммита в текущей ветке.