Translate

Поиск по этому блогу

понедельник, 13 марта 2017 г.

Git

Сегодня разберем основные и самые часто повторяющиеся команды Git. Этого минимума вам вполне хватит для того, чтобы чувствовать себя с Git уверенно и непринужденно



И так... Поехали!

  • git init  — Чтобы инициализировать репозиторий Git здесь. Initialized empty Git repository in /.git/(, наш каталог «octobox» теперь имеет пустой репозиторий в /.git/. )

  • git status — чтобы узнать, каково текущее состояние нашего проекта
     # On branch master
    #
    # Initial commit
    # nothing to commit (create/copy files and use "git add" to track)

    После того, как мы создадим там некий тесовый файл эта команда вернет —
     # On branch master
    #
    # Initial commit
    #
    # Untracked files:
    # (use "git add ..." to include in what will be committed)
    #
    #   octocat.txt
    nothing added to commit but untracked files present (use "git add" to track)

  • git add octacat.txt  —Чтобы Git начал отслеживать изменения, внесенные в octocat.txt, мы сначала должны добавить его в промежуточную область с помощью git add.
    Теперь если еще раз вызвать команду и проверить статус — git status, то получит следующее:
    # On branch master
    #
    # Initial commit
    #
    # Changes to be committed:
    #   (use "git rm --cached ..." to unstage)
    #
    new file: octocat.txt
    #

    Файлы, перечисленные здесь, находятся в области промежуточного хранения, и они еще не находятся в нашем репозитории. Мы могли добавлять или удалять файлы со сцены, прежде чем их хранить в репозитории.

    Чтобы сохранить наши поэтапные изменения, мы запускаем команду commit с сообщением о том, что мы изменили.


  • git commit -m "Add cute octocat story"—  Коммит с мессанджем:
    
    [master (root-commit) 20b5ccd] Add cute octocat story
    1 file changed, 1 insertion(+)
    create mode 100644 octocat.txt

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

    Я поместил некоторые в каталог с именем «octofamily», а некоторые другие оказались в корне нашего каталога «octobox». К счастью, мы можем добавить все новые файлы, используя шаблон с добавлением git. Не забывайте цитаты!


  • git add '*.txt'—  Добавление всех изменений

  • git commit -m 'Add all the octocat txt files'—  Committing всех изменений
    
    [master 3852b4d] Add all the octocat txt files
    4 files changed, 4 insertions(+)
    create mode 100644 blue_octocat.txt
    create mode 100644 octofamily/baby_octocat.txt
    create mode 100644 octofamily/momma_octocat.txt
    create mode 100644 red_octocat.txt

  • git log—  История

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

    К счастью для нас, есть git log. Подумайте о журнале Git как о журнале, который помнит все изменения, которые мы совершили до сих пор, в том порядке, в котором мы их совершили.

     commit 3852b4db1634463d0bb4d267edb7b3f9cd02ace1 
    Author: Try Git
    Date: Sat Oct 10 08:30:00 2020 -0500
      Add all the octocat txt files

    commit b652edfd888cd3d5e7fcb857d0dabc5a0fcb5e28
    Author: Try Git
    Date: Sat Oct 10 08:30:00 2020 -0500
      Added cute octocat story

  • git remote add origin https://github.com/try-git/try_git.git — Удаленные репозитория

    Мы пошли вперед и создали новый пустой репозиторий GitHub для использования с Try Git по адресу https://github.com/try-git/try_git.git. Чтобы подтолкнуть наш локальный репо к серверу GitHub, нам нужно будет добавить удаленный репозиторий.

    Эта команда берет удаленное имя и URL-адрес репозитория, который в вашем случае - https://github.com/try-git/try_git.git.

    Идем дальше и запускаем git remote add с опциями ниже:

    Ответа не будет.

  • git push -u origin master— Pushing Remotely

    Команда push сообщает Git, куда положить наши коммиты, когда мы готовы, и теперь мы готовы. Итак, давайте переместим наши локальные изменения в наш исходный репо (на GitHub).

    Имя нашего пульта - origin, а имя локальной ветви по умолчанию - master. Параметр -u указывает Git запомнить параметры, чтобы в следующий раз мы могли просто запустить git push, а Git будет знать, что делать.

    Branch master set up to track remote branch master from origin.
    

  • git pull origin master—  Pulling Remotely

    Давайте притворимся, что прошло какое-то время. Мы пригласили других людей в наш проект GitHub, которые потянули ваши изменения, сделали свои собственные коммиты и подтолкнули их.

    Мы можем проверить изменения в нашем репозитории GitHub и удалить все новые изменения, запустив:

    Updating 3852b4d..3e70b0f
    Fast-forward
    yellow_octocat.txt | 1 +
    1 file changed, 1 insertion(+)
    create mode 100644 yellow_octocat.txt

  • git diff HEAD— Различия

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

    В этом случае нам нужен diff нашего последнего коммита, который мы можем использовать для указания указателя HEAD.

    diff --git a/octocat.txt b/octocat.txt 
    index 7d8d808..e725ef6 100644
    --- a/octocat.txt
    +++ b/octocat.txt
    @@ -1 +1 @@
    -A Tale of Two Octocats
    + [m A Tale of Two Octocats and an Octodog

  • git add octofamily/octodog.txt—  Поэтапные различия

    Еще одно отличное использование для diff - это просмотр изменений в уже установленных файлах. Помните, что поэтапные файлы - это файлы, которые мы сказали git, которые готовы к фиксации.

    Давайте применим git add к stage octofamily / octodog.txt, который я только что добавил в семейство для вас.

    Ответа нет.

  • git diff --staged—  Поэтапные различия (продолжение)

    Хорошо, теперь идем дальше и запускаем git diff с опцией --staged, чтобы увидеть изменения, которые вы только что организовали. Вы должны увидеть, что octodog.txt был создан.

    diff --git a/octofamily/octodog.txt b/octofamily/octodog.txt 
    new file mode 100644
    index 0000000..cfbc74a
    --- /dev/null
    +++ b/octofamily/octodog.txt
    @@ -0,0 +1 @@
    + [m woof

  • git reset octofamily/octodog.txt—  Resetting the Stage (сброс)

    Теперь , когда мы их объединили (они вошли в "дом", в "семью").

    Вы можете разгрузить файлы, используя команду git reset. Идем дальше и удаляем octofamily / octodog.txt.

    Ничего не произойдет на экране.

  • git checkout -- octocat.txt—  Отменить

    Команда git reset отлично справилась с проблемой остановки файла octodog.txt, но вы заметите, что он все еще там. Он просто больше не устраивает. Было бы здорово, если бы мы могли вернуться к тому, как все было до того, как появился октодог и разрушил вечеринку.

    Файлы можно изменить до того, как они были в последнем коммите, используя команду: git checkout -- . Идем дальше и избавляемся от всех изменений с момента последнего фиксации для octocat.txt

    Изменений не видно.

  • git branch clean_up—  Разветвление

    Когда разработчики работают над функцией или ошибкой, они часто создают копию (ака. branch) своего кода, с которой могут делать отдельные коммиты. Затем, когда все будет готово, они могут объединить эту ветку с основной master ветвью.

    Мы хотим удалить все эти надоедливые октокаты, поэтому давайте создадим ветвь под названием clean_up, где мы сделаем всю работу:

    Видимых изменений нет.

  • git checkout clean_up—  Переключение ветвей

    Теперь, если вы наберете git-ветвь, вы увидите две локальные ветки: основную ветвь с именем master и новую ветвь с именем clean_up.

    Вы можете переключаться между ветвями, используя команду git checkout . Попробуйте теперь переключиться на ветку clean_up:

    Switched to branch 'clean_up'

  • git rm '*.txt'— Удаление всех вещей

    Итак, вы в ветке clean_up. Вы можете, наконец, удалить все эти надоедливые октокаты, используя команду git rm, которая не только удалит фактические файлы с диска, но и подготовит удаление файлов для нас.

    Вы снова захотите использовать подстановочный знак, чтобы получить все осциллографы за один раз, запустить и запустить:

    rm 'blue_octocat.txt'
    rm 'octocat.txt'
    rm 'octofamily/baby_octocat.txt'
    rm 'octofamily/momma_octocat.txt'
    rm 'red_octocat.txt'

  • git commit -m "Remove all the cats"— Внесение изменений в ветвь

    Теперь, когда вы удалили всех "кошек", вам нужно будет зафиксировать изменения.

    Не стесняйтесь запускать git-status, чтобы проверить изменения, которые вы собираетесь совершить.

    [clean_up 63540fe] Remove all the cats
    5 files changed, 5 deletions(-)
    delete mode 100644 blue_octocat.txt
    delete mode 100644 octocat.txt
    delete mode 100644 octofamily/baby_octocat.txt
    delete mode 100644 octofamily/momma_octocat.txt
    delete mode 100644 red_octocat.txt

  • git checkout master—  Переключение на главную
    Отлично, вы почти закончили работу с "кошкой" ... исправили ошибку, вам просто нужно вернуться к главной ( master)ветке, чтобы вы могли скопировать (или merge - объединить) ваши изменения с ветки clean_up обратно в ветвь master.

    Идем дальше и проверяем основную master ветку:

    Switched to branch 'master'

  • git merge clean_up— Подготовка к слиянию

    Уже, наступил момент, когда вам нужно объединить ваши изменения из ветки clean_up в ветвь master. Сделайте глубокий вдох, это не так страшно.

    Мы уже на главной master ветке, поэтому нам просто нужно сказать Git объединить ветку clean_up в нее:

    Updating 3852b4d..ec6888b
    Fast-forward
    blue_octocat.txt | 1 -
    octocat.txt | 1 -
    octofamily/baby_octocat.txt | 1 -
    octofamily/momma_octocat.txt | 1 -
    red_octocat.txt | 1 -
    5 files changed, 5 deletions(-)
    delete mode 100644 blue_octocat.txt
    delete mode 100644 octocat.txt
    delete mode 100644 octofamily/baby_octocat.txt
    delete mode 100644 octofamily/momma_octocat.txt
    delete mode 100644 red_octocat.txt

  • git branch -d clean_up—  Ведение чистоты

    Вы только что выполнили первое успешное исправление ошибок и слияние. Остается только убирать за собой. Поскольку вы закончили с веткой clean_up, она вам больше не нужна.

    Вы можете использовать git branch -d <название ветки> для удаления ветки. Теперь удалите ветку clean_up:

    Deleted branch clean_up (was ec6888b).

  • git push— Последний толчок

    Вот и мы, на последнем шагу. Я горжусь, что вы сделали это так далеко, и было здорово узнать Git с вами. Теперь вам остается только нажать на все, над чем вы работали в удаленном репозитории, и все готово!

    To https://github.com/try-git/try_git.git
    3e70b0f..d2a2c5e master -> master


Потренироваться можно здесь! Этот Git Tutorial и был для вас опубликован на русском языке. Почти на русском :-)


Материалы по Git, которые могут быть вам интересны:


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.


Удачного кодирования!                                                                                                                                                              

Телеграм канал - Full Stack JavaScript Developer
Помочь проекту (любая валюта). DONATE

1 комментарий:



Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.Пишите мне - kolesnikovy70 почта gmail.com