Git

TODO!

клонувати репозиторій

git clone git@github.com:NICKNAME/REP.git

Також можна змінювати назву директорії проекту локально, налаштування репозиторію та сам локальний репозиторій не злетять - всі ці речі зберігаються в директорії .git, за назвою директорії проекту git не стежить, важливі лише зміни самих файлів у робочій директорії.

А взагалі можна відразу клонувати в потрібну вам директорію, на кшталт git clone https://site.com site_from_github

перегляд віддалених репозиторіїв

git remote

origin

Если вы клонировали репозиторий, то увидите как минимум origin – имя по умолчанию, которое Git дает серверу, с которого производилось клонирование. Можно также указать ключ -v, чтобы просмотреть адреса для чтения и записи, привязанные к репозиторию:

git remote -v

origin git@github.com:olexsyn/e-note.git (fetch) origin git@github.com:olexsyn/e-note.git (push)

подробнее…

добавить отдаленный репозиторий и присвоить ему имя (shortname)

git remote add SHORTNAME URL

git remote add e-note git@github.com:olexsyn/e-note.git

Теперь вместо указания полного пути мы можем использовать ‘e-note’.

получение изменений с сервера

git fetch origin

Команда git fetch забирает данные в ваш локальный репозиторий, но не сливает их с какими-либо вашими наработками и не модифицирует то, над чем вы работаете в данный момент. Вам необходимо вручную слить эти данные с вашими, когда вы будете готовы.

Команда git pull, как правило, извлекает (fetch) данные с сервера и автоматически пытается слить (merge) их с кодом, над которым вы в данный момент работаете.

отправка изменений на сервер

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

git push REMOTE-NAME BRANCH-NAME

Чтобы отправить вашу ветку main на сервер origin (клонирование обычно настраивает оба этих имени автоматически), вы можете выполнить следующую команду для отправки ваших коммитов:

git push origin main

Сокращенный вывод статуса

-s или --short

git status -s

M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt

В выводе два столбца: в левом - статус, в правом - (не)модифицирован

git add file1.ext file2.ext ...

git add --all

Коммит

git commit -m 'Commit comment'

Добавить файл(ы) в последний коммит

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

git add --all git commit --amend --no-edit

Если необходимо также изменить и комментарий, то:

git commit -m 'New commit comment' --amend

Просмотр истории коммитов

git log git log --stat

TODO!

git commit -m "description" filename.ext коммит только одного файла

Просмотр индексированных и неиндексированных изменений

git diff git diff --staged git diff --cached

Выбор программы для сравнения

Посмотреть, что уже установлено, и что можно можно установить:

git difftool --tool-help

Установить для git программу сравнения, например, meld

git difftool --tool=meld

Принудительно обновить отдаленный репозиторий:

git push -f origin master

! Но, следует понимать, что на сервере затрутся все изменения в файлах, которые были сделаны после последнего git push, даже если ты отправляешь всего один файл.

Книга Pro Git

Pro Git book

Другие ссылки