Понимание основ Git и GitHub [закрыто]

201

Я не полностью понимаю цель использования Git или Github; Я знаю, что это помогает отслеживать ваши изменения и помогает людям, сотрудничающим с другими людьми, но я ни с кем не сотрудничаю, поэтому не знаю, будет ли это полезно для меня.

Я обычно работаю веб-дизайнером / разработчиком, но мне никогда не приходится сотрудничать. Я знаю, что в Git вы можете создавать, отправлять, фиксировать, создавать ветки и т. Д. Для каждого хранилища, но ...

  1. В чем разница между Git и GitHub?

  2. Git сохраняет каждый репозиторий локально (на компьютере пользователя) и в GitHub?

  3. Можете ли вы использовать Git без GitHub? Если да, какая польза от использования GitHub?

  4. Как Git сравнивается с резервной системой, такой как Time Machine?

  5. Является ли это ручным процессом, другими словами, если вы не совершите коммит, у вас не будет новой версии внесенных изменений?

  6. Если вы не сотрудничаете, и вы уже используете систему резервного копирования, зачем вам использовать Git?

fs_tigre
источник
может быть, это помогает кому-то понять различия: pedrorijo.com/blog/git-init
pedrorijo91

Ответы:

254
  1. В чем разница между Git и GitHub?

    Git - система контроля версий; думайте об этом как о серии снимков (коммитов) вашего кода. Вы видите путь этих снимков, в каком порядке они созданы. Вы можете создавать ветки для экспериментов и возвращаться к снятым снимкам.

    GitHub - это веб-страница, на которой вы можете публиковать свои репозитории Git и сотрудничать с другими людьми.

  2. Сохраняет ли Git каждый репозиторий локально (на компьютере пользователя) и в GitHub?

    Нет, это только местный. Вы можете решить добавить (опубликовать) некоторые ветки на GitHub.

  3. Можете ли вы использовать Git без GitHub? Если да, какая польза от использования GitHub?

    Да, Git работает локально, если вы не используете GitHub. Альтернативой использованию GitHub может быть запуск Git для файлов, размещенных на Dropbox, но GitHub - это более упрощенный сервис, поскольку он был создан специально для Git.

  4. Как Git сравнивается с резервной системой, такой как Time Machine?

    Другое дело, Git позволяет вам отслеживать изменения и процесс разработки. Если вы используете Git с GitHub, он становится резервной копией. Однако, как правило, вы не будете постоянно пихать GitHub, и в этот момент у вас не будет полной резервной копии, если что-то пойдет не так. Я использую git в папке, которая синхронизируется с Dropbox.

  5. Это ручной процесс, другими словами, если вы не сделаете коммит, у вас не будет новой версии внесенных изменений?

    Да, фиксация и нажатие выполняются вручную.

  6. Если вы не сотрудничаете, и вы уже используете систему резервного копирования, зачем вам использовать Git?

    • Если вы столкнулись с ошибкой между коммитами, вы можете использовать команду, git diffчтобы увидеть различия между текущим кодом и последним рабочим коммитом, что поможет вам найти вашу ошибку.

    • Вы также можете просто вернуться к последнему рабочему коммиту.

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

    • Вы сделали некоторую отладку. Перед коммитом вы всегда смотрите на изменения последнего коммита. Вы видите ваше заявление отладочной печати, которое вы забыли удалить.

Убедитесь, что вы проверите gitimmersion.com .

Давуд Тагави-Неджад
источник
5
Раздел первый в последнем абзаце действительно хороший момент. Также оформить заказ git intersectдля этой цели.
2
@ H2CO3 Вы имеете в виду git bisect?
Саймон Уитакер
1
@SimonWhitaker Да, это опечатка.
47
  1. В чем разница между Git и GitHub?

    Линус Торвальдс убил бы тебя за это. Git - это название программы управления версиями, которую он написал. GitHub - это веб-сайт, на котором находятся репозитории исходного кода, управляемые Git. Таким образом, GitHub совершенно не связан с оригинальным инструментом Git.

  2. Git сохраняет каждый репозиторий локально (на компьютере пользователя) и в GitHub?

    Если вы фиксируете изменения, он хранится локально. Затем, если вы нажмете коммиты, он также будет удалённо удалён.

  3. Можете ли вы использовать Git без GitHub? Если да, какая польза от использования GitHub?

    Вы можете, но я уверен, что вы не хотите вручную настраивать git-сервер для себя. Преимущества GitHub? Что ж, простой в использовании, многие люди знают это, так что другие могут найти ваш код и следовать за ним, чтобы улучшить его.

  4. Как Git сравнивается с резервной системой, такой как Time Machine?

    Git специально разработан и оптимизирован для исходного кода.

  5. Является ли это ручным процессом, другими словами, если вы не совершите коммит, у вас не будет новой версии внесенных изменений?

    Именно.

  6. Если вы не сотрудничаете, и вы уже используете систему резервного копирования, зачем вам использовать Git?

    Смотрите № 4.

svick
источник
5
На самом деле, вы можете использовать Git полностью локально. Единственная причина, по которой вы бы использовали github - это опубликовать ваш исходный код. Например для сотрудничества. Если вы не хотите этого делать, вам не нужен git-сервер.
Давуд Тагави-Неджад
@ DavoudTaghawi-Nejad да, но я уверен, что OP имел в виду «без Github» как «не с GitHub». Я также считаю, что из # 2 очевидно, что вы можете использовать git только локально.
4
@ DavoudTaghawi-Nejad Я использую GitHub в качестве резервной копии, а не для совместной работы. Если есть пожар / и т. Д. Код безопасен.
Thufir
что такое github follow и функция fork?
Моу
29
  1. В чем разница между Git и GitHub?

    Git - это распределенная система контроля версий. Обычно он запускается в командной строке вашего локального компьютера. Он отслеживает ваши файлы и изменения этих файлов в «хранилище» (или «репо»), но только когда вы указываете это сделать. (Другими словами, вы решаете, какие файлы отслеживать и когда делать «снимок» любых изменений.)

    GitHub, напротив, является веб-сайтом, позволяющим публиковать свои репозитории Git в Интернете, что может быть полезно по многим причинам (см. № 3).

  2. Сохраняет ли Git каждый репозиторий локально (на компьютере пользователя) и в GitHub?

    Git известен как «распределенная» (а не «централизованная») система контроля версий, потому что вы можете запускать ее локально и отключаться от Интернета, а затем «отправлять» ваши изменения в удаленную систему (например, GitHub) в любое время. Таким образом, изменения репо появляются на GitHub только тогда, когда вы вручную указываете Git выдвинуть эти изменения.

  3. Можете ли вы использовать Git без GitHub? Если да, какая польза от использования GitHub?

    Да, вы можете использовать Git без GitHub. Git - это «рабочая лошадка», которая фактически отслеживает ваши изменения, тогда как GitHub просто размещает ваши репозитории (и предоставляет дополнительную функциональность, недоступную в Git). Вот некоторые из преимуществ использования GitHub:

    • Это обеспечивает резервное копирование ваших файлов.
    • Это дает вам визуальный интерфейс для навигации по вашим репозиториям.
    • Это дает другим людям возможность перемещаться по вашим репозиториям.
    • Это облегчает сотрудничество с репо (например, несколько человек участвуют в одном проекте).
    • Это обеспечивает легкую систему отслеживания проблем.
  4. Как Git сравнивается с резервной системой, такой как Time Machine?

    Git выполняет резервное копирование ваших файлов, хотя дает вам гораздо более детальный контроль, чем традиционная система резервного копирования, над тем, что и когда вы делаете резервное копирование. В частности, вы «фиксируете» каждый раз, когда хотите сделать снимок изменений, и эта фиксация включает в себя как описание ваших изменений, так и построчную информацию об этих изменениях. Это оптимально для исходного кода, потому что вы можете легко увидеть историю изменений для любого данного файла на построчном уровне.

  5. Это ручной процесс, другими словами, если вы не сделаете коммит, у вас не будет новой версии внесенных изменений?

    Да, это ручной процесс.

  6. Если вы не сотрудничаете, и вы уже используете систему резервного копирования, зачем вам использовать Git?

    • Git использует мощную систему ветвления, которая позволяет вам одновременно работать над несколькими независимыми линиями разработки, а затем объединять эти ветви по мере необходимости.
    • Git позволяет просматривать построчную разницу между различными версиями ваших файлов, что облегчает поиск и устранение неисправностей.
    • Git заставляет вас описывать каждый из ваших коммитов, что значительно упрощает отслеживание конкретной предыдущей версии данного файла (и потенциально может вернуться к этой предыдущей версии).
    • Если вам когда-нибудь понадобится помощь с вашим кодом, отслеживание его в Git и размещение на GitHub значительно облегчит кому-то еще просмотр вашего кода.

Для начала работы с Git я рекомендую онлайн-книгу Pro Git, а также GitRef в качестве удобного справочного руководства. Для начала работы с GitHub мне нравится Bootcamp GitHub и их руководства по GitHub . Наконец, я создал небольшую серию видеороликов, чтобы познакомить новичков с Git и GitHub.

Кевин Маркхэм
источник