$ git push # Отправить изменения $ git pull # Получить изменения # Команда инициализации репозитория $ git init # команда инициализации центрального репозитория $ git init --bare # Проверка работоспособности репозитория $ git status
# клонируем репозиторий $ git clone [путь: центральный репозиторий] [путь: клон] пример: '$ git clone ~/example_bare clone_of_example' # Смотрим связь клона с репозиторием: $ git remote -v 'origin /home/user/example_bare (fetch)' 'origin /home/user/example_bare (push)' # То же самое через чтение конфига $ cat .git/config ' [remote "origin"]' ' url = /home/user/example_bare' ' fetch = +refs/heads/*:refs/remotes/origin/*' -----------------------
# Создаём файл $ touch README.md # Меняем содержимое $ echo '# Hi' > README.md # Так Git увидит новый файл $ git add README.md # Коммит с сообщением 'init project' $ git commit -m 'init projecT' ---------------------- # Посмотреть историю коммитов $ git log
$ git log -- basicsDesign.html # посмотореть историю коммитов конкретного файла
$ git log -p -- basicsDesign.html # посмотореть историю коммитов конкретного файла c изменениями (diff)
checkout 3f25701874aa5a2c16cc6275fa30baa5b6e477a6 basicsDesign.html # переключится на коммит конкретного файла
# Зная идентификатор коммита можно посмотреть изменения в коде.
$ git show 3a64fccf14725593b7486ff09d6a6c325a5f8fcc
команда 'git diff', запущенная без аргументов, показывает различия между репозиторием и вашей рабочей копией
' .gitignore' - этот файл поможет Git определить то, что точно не придётся коммитить.
$ git reset path/to/file # сброс git add $ git checkout path/to/file # сброс git commit. т.е. откат свежих изменений.
$ git checkout [идентификатор]
# После этой команды, в рабочей копии окажется то состояние репозитория, которое было на момент коммита идентификатор.
$ git checkout master # возврат в свежий коммит
$ git branch # смотрим название текущей ветки $ git branch new-feature # создание новой ветки. new-feature - это название новой ветки $ git checkout new-feature # переключение на новую ветку $ git checkout ed8145e # переключились на необходимый коммит $ git status # проверили текущее состояние HEAD detached at ed8145e # HEAD -это голова от которой растёт новая ветка ----------------------------
$ git push origin master # Отправка. orign - имя удалённого репозитория,
maser -ветка
Отслеживаемая ветка устанавливается командой 'git push --set-upstream origin master.'
Эта команда выполняет два действия:
rekoshed@rekoshed-RV408-RV508:~/Github/repositori/Hello-World$ git push --set-upstream origin master Username for 'https://github.com': rekoshed@yandex.ru Password for 'https://rekoshed@yandex.ru@github.com': Подсчет объектов: 3, готово. Delta compression using up to 2 threads. Сжатие объектов: 100% (3/3), готово. Запись объектов: 100% (3/3), 1.80 KiB | 1.80 MiB/s, готово. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/Rekoshed/Hello-World.git 5aa8707..a09e66d master -> master Ветка «master» отслеживает внешнюю ветку «master» из «orig ---------------------------------------------------------