Git на Windows основы его использования

#3  пятница, 30 июня 2023 г.  10 минут(ы)  912 слов

Важно: Для работы с Git необходимо запустить командную строку (cmd) от имени администратора в Windows.

Кратко основы работы с Git

Git - это система контроля версий, которая позволяет отслеживать изменения в файлах. Вот несколько базовых команд:

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

git init

git clone: Если вы хотите скопировать существующий репозиторий, используйте команду git clone. Например:

git clone https://github.com/user/repo.git

git add: Чтобы добавить файлы в репозиторий, используйте команду git add. Например, чтобы добавить файл с именем example.txt, используйте

git add example.txt

git add . используется для добавления всех новых и изменённых файлов в текущем каталоге и всех его подкаталогах в область подготовленных к коммиту (staging area) Git. Это означает, что все эти файлы будут учтены в следующем коммите. Команда git add . не включает новые файлы, которые указаны в файле .gitignore.

git add .

Важно отметить, что команда git add . не включает в себя удалённые файлы. Если вы удалили файл и хотите, чтобы Git заметил это, вам потребуется использовать команду git rm.

git rm

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

  • Удаляет файлы из рабочего каталога (то есть физически удаляет их с диска).

  • Удаляет файлы из индекса Git (также называемого областью подготовленных изменений). Это означает, что они больше не будут отслеживаться Git.

Пример использования:

git rm myfile.txt

Эта команда удалит myfile.txt из рабочего каталога и из индекса Git. После выполнения этой команды, вам потребуется выполнить коммит, чтобы зафиксировать эти изменения в истории Git.

Если вы хотите удалить файл только из индекса Git (то есть прекратить отслеживание файла, но оставить его на диске), вы можете использовать команду git rm --cached:

git rm --cached myfile.txt

git commit: Эта команда создает новый "снимок" вашего репозитория с любыми изменениями, которые вы добавили с помощью команды git add. Используйте

git commit -m "Ваше сообщение о коммите"

git push: Чтобы отправить ваши коммиты на удаленный сервер, используйте git push. Если вы клонировали репозиторий, Git автоматически устанавливает ссылку на оригинальный репозиторий. Вы можете просто использовать, чтобы отправить ваши изменения на сервер.

git push origin master

git pull: Эта команда загружает любые изменения с удаленного сервера и объединяет их с вашей текущей версией. Используйте git pull чтобы быть в курсе последних обновлений.

git pull

git status: Чтобы увидеть, какие изменения вы сделали, но еще не закоммитили, используйте

git status

git diff: Эта команда показывает различия между вашими файлами и последним коммитом.

git diff

Описание дополнительных опций

git config --global core.autocrlf false

git config --global core.autocrlf false 

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

core.autocrlf — это настройка Git, которая определяет, как Git будет обрабатывать символы конца строки при записи файлов в репозиторий и при извлечении их обратно в рабочий каталог.

Если core.autocrlf установлен в true, Git будет автоматически заменять символы конца строки CRLF (используемые в Windows) на LF (используемые в Unix) при записи файлов в репозиторий, и заменять LF обратно на CRLF при извлечении файлов в рабочий каталог.

Если core.autocrlf установлен в false, Git не будет делать никаких автоматических замен. Это может быть полезно, если вы работаете в среде, где смешиваются разные типы операционных систем, или если вы просто хотите оставить символы конца строки "как есть".

Также есть третий вариант core.autocrlf input, который при записи в репозиторий заменяет CRLF на LF, но при извлечении не делает обратной замены.

Опция --global означает, что эта настройка будет применена глобально, то есть для всех репозиториев на вашем компьютере. Если вы хотите применить эту настройку только для одного конкретного репозитория, вы можете использовать опцию --local вместо --global.

Команды git config --global user.name и git config --global user.email используются для установки глобальных настроек имени пользователя и адреса электронной почты для Git. Это имя пользователя и адрес электронной почты будут использоваться в качестве информации о вас при каждом коммите.

git config --global user.name "d00m4ace"
git config --global user.email "d00m4ace79@gmail.com"

Эти команды устанавливают глобальные настройки Git для вашего имени пользователя как "d00m4ace" и для вашего адреса электронной почты как "d00m4ace79@gmail.com". Это значит, что при каждом коммите, Git будет использовать эти данные в качестве информации о коммитере.

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

git config user.name "d00m4ace"
git config user.email "d00m4ace79@gmail.com"

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

Кратко резюме комманд

Для работы с Git необходимо запустить командную строку (cmd) от имени администратора в Windows. Для начала определим пользователья глобально и перенос новых строк отключим авто замену CRLF обратно на LF. И также core.symlinks true позволяет Git создавать и обрабатывать символические ссылки.

git config --global core.autocrlf false
git config --global core.symlinks true
git config --global user.name "d00m4ace"
git config --global user.email "d00m4ace79@gmail.com"

Для создания нового репозитория и отправки всего его содержимого в новый уже созданый репозиторий на github:

git init
git config --local core.symlinks true
git add .
git status

git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/d00m4ace/hex.play.git
git push -u origin main

git status
git push
git pull

Если вы хотите скопировать существующий репозиторий, используйте команду git clone:

git clone --config core.symlinks=true https://github.com/d00m4ace/HEXPLAY.git