Полное руководство по Git и Github
Основные моменты статьи:
- Введение в Git
- Структура репозитория Git
- Доступ к центральному репозиторию github через Https или ssh
- Работа с git - важные команды Git
Введение в Git
Для установки в ubuntu вы можете обратиться к этой статье: https://www.geeksforgeeks.org/how-to-install-configure-and-use-git-on-ubuntu/
Git - это распределенная система контроля версий. Итак, что такое система контроля версий?
Система контроля версий - это система, которая поддерживает разные версии вашего проекта, когда мы работаем в команде или индивидуально. (система управления изменениями в файлах) По мере развития проекта в него добавляются новые функции. Так,
система управления версиями поддерживает все ваши различные версии вашего проекта для вас, и вы можете откатиться к любой версии, которую хотите, не доставляя вам никаких проблем с поддержанием разных версий, давая ей имена, такие как MyProject, MyProjectWithFeature1 и т. д.
Распределенная система контроля версий означает, что каждый соавтор (любой разработчик, работающий над командным проектом) имеет локальный репозиторий проекта на своем локальном компьютере, в отличие от центрального, где члены группы должны иметь подключение к Интернету, чтобы каждый раз обновлять свою работу в основном центральном репозитории. .
Итак, под распределенным мы подразумеваем: проект распространяется.
Репозиторий - это область, в которой хранятся все файлы вашего проекта, изображения и т. Д.
С точки зрения Github: разные версии проектов соответствуют коммитам.
Для получения дополнительной информации о введении в Github вы можете обратиться: https: //www.geeksforgeeks.org/git-lets-get-into-it/
Структура репозитория Git
Состоит из 4 частей:
- Рабочий каталог: это ваш локальный каталог, в котором вы создаете проект (пишете код) и вносите в него изменения.
- Промежуточная область (или индекс): это область, в которую вам сначала нужно поместить свой проект перед фиксацией. Это используется для проверки кода другими членами команды.
- Локальный репозиторий: это ваш локальный репозиторий, в котором вы фиксируете изменения в
проект, прежде чем отправлять их в центральный репозиторий на Github. Это то, что обеспечивает распределенная система контроля версий. Это соответствует папке .git в нашем каталоге. - Центральный репозиторий: это основной проект на центральном сервере, копия которого
с каждым членом команды в качестве локального репозитория.
Вся структура репозитория является внутренней для Git и прозрачна для разработчика.
Некоторые команды, относящиеся к структуре репозитория:
git добавить // переносит ваш проект из рабочего каталога // в плацдарм. git commit // переносит ваш проект из области подготовки в // Локальный репозиторий. git push // переносит проект из локального в центральный репозиторий. // (требуется интернет)
Доступ к центральному репозиторию github через Https или ssh
Здесь проект передачи означает передачу изменений, поскольку git очень легкий и работает с изменениями в проекте. Он выполняет внутреннюю передачу с использованием методов сжатия без потерь и передачи сжатых файлов. Https - это способ доступа по умолчанию к центральному репозиторию Github.
с помощью git remote add origin http_url: удаленный означает удаленный центральный репозиторий. origin соответствует вашему центральному репозиторию который вам нужно определить (давая https URL) чтобы внести изменения в Github. Через SSH: удаленное подключение к Linux или другим серверам.
Если вы получаете доступ к Github по ssh, вам не нужно вводить имя пользователя и пароль каждый раз, когда вы вносите изменения в GitHub.
Команды терминала:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" Это делает генерацию ключа ssh с использованием криптографического алгоритма RSA. eval "$ (ssh-agent -s)" -> включить информацию о локальном сеансе входа в систему. ssh-add ~ / .ssh / id_rsa -> добавить в ключ ssh. cat ~ / .ssh / id_rsa (используйте файл .pub, если не можете подключиться) добавьте этот ключ ssh в github.
Теперь перейдите в настройки github -> новый ключ ssh -> создать ключ ssh -T git@github.com -> активировать ключ ssh (тестовое соединение) Обновите страницу на github.
Работа с git - важные команды Git
- Конфигурация пользователя Git (первый шаг)
git --version (чтобы проверить версию git) git config --global user.name "здесь ваше имя" git config --global user.email "ваш адрес электронной почты здесь"
Это информация, прикрепленная к коммитам.
- Инициализировать каталог:
git init инициализирует ваш каталог для работы с git и делает локальный репозиторий. Папка .git сделана
ИЛИ ЖЕ
git clone http_url Это делается, если у нас есть существующий репозиторий git.
- Подключение к репозиторию:
git удаленный добавить источник http_url / ssh_url подключиться к центральному репо, чтобы нажимать / тянуть
pull означает перенос изменений из центрального репозитория в ваш локальный репозиторий. толкать - наоборот тянуть.
git pull origin master
Всегда сначала извлекайте содержимое из центрального репозитория, прежде чем нажимать, чтобы вы были в курсе работы других членов команды.
Здесь master означает главную ветку (в Git). - Шаги по добавлению файла в центральный репозиторий:
Во-первых, ваш файл находится в вашем рабочем каталоге, переместите его в промежуточную область, набрав:git add -A (для всех файлов и папок) # Чтобы добавить все файлы только в текущий каталог git add.
git status: здесь под неотслеживаемыми файлами подразумеваются файлы, которые вы не добавили в промежуточную область. Изменения не выполняются для фиксации, это означает, что вы разместили файл раньше, чем вы внесли изменения в эти файлы в своем рабочем каталоге, и изменения необходимо выполнить еще раз.
Изменения, готовые к фиксации: это файлы, которые были зафиксированы и готовы к отправке в центральный репозиторий.git commit -a -m "сообщение для фиксации" -a: зафиксировать все файлы и файлы, которые были поставленный ранее не нужно повторять git add еще раз Параметр -a делает это автоматически.
git push origin master -> помещает ваши файлы в главная ветка github git push origin anyOtherBranch -> нажимает любой другая ветка на гитхаб. git log; чтобы увидеть все ваши коммиты
git checkout commitObject (первые 8 бит) file.txt-> вернуться к предыдущей фиксации для файла file.txt
commitObject можно увидеть в журнале git.
HEAD -> указатель на нашу последнюю фиксацию.
- Игнорирование файлов при фиксации.
Во многих случаях проект создает много журналов и других ненужных файлов, которые следует игнорировать. Поэтому, чтобы игнорировать эти файлы, мы должны поместить их имена в файл «.gitignore».коснитесь .gitignore echo "filename.ext" >>. gitignore # игнорировать все файлы с расширением .log echo "* .log"> .gitignore
Теперь имена файлов, записанные в файле .gitignore, будут игнорироваться при нажатии новой фиксации.
- Чтобы получить изменения между коммитами, коммитами и рабочим деревом.
git diff
Команда 'git diff' сравнивает промежуточную область с рабочим каталогом и сообщает нам о внесенных изменениях. Он сравнивает предыдущую информацию, а также текущую измененную информацию.
Ветвление в Git
создать ветку -> git ветка myBranch или же git checkout -b myBranch -> make и переключитесь на филиал myBranch
Работайте в своей ветке.
Потом,
git checkout master; вернуться в основную ветку
Сейчас,
объединить содержимое с вашим myBranch By:
git merge myBranch (запись в главной ветке)
Это слияние дает новую фиксацию.
Другой путь:
git rebase myBranch
Это последовательно объединяет ветку с мастером.
Сейчас,
git push origin master
Внесите свой вклад в разработку открытого исходного кода, создав ветвь проекта и сделайте некоторую работу (добавьте новые функции) в своей ветке, а затем выполните запрос на перенос на Github.