Запуск и тестирование Git Bash
Если вы знакомы с работой в командной строке, вам будет гораздо легче начать работу с Git Bash. Он похож на CMD в Windows, вы можете открыть его и сменить каталог на папку, в которой вы хотите работать, или вы можете напрямую открыть ее внутри папки. Чтобы подключить Git Bash к вашей учетной записи GitHub, требуется несколько шагов и войдите в учетную запись GitHub. Для начала выполните следующие шаги:
Примечание. Если у вас уже есть хранилище, пропустите шаг 2 и шаг 3.
- Откройте Git Bash, дважды щелкнув по ярлыку, или выполните поиск с помощью функции поиска Windows.Примечание. Вы также можете открыть Git Bash в папке вашего проекта, щелкнув правой кнопкой мыши в любом месте папки и выбрав опцию Git Bash.Открытие Git Bash
- Перейдите на сайт GitHub и войдите в свою учетную запись. Нажмите на значок + рядом со значком профиля в верхнем правом углу и выберите Новый репозиторий.Войдите в GitHub аккаунт
- Укажите имя, выберите «Инициализировать этот репозиторий с помощью опции README» и нажмите кнопку «Создать репозиторий».Примечание. Здесь вы также можете установить общий или закрытый репозиторий. Однако для частного хранилища потребуется ключ.Создание нового хранилища
- Введите команду change directory, чтобы изменить каталог на папку вашего проекта. Если вы открыли Git Bash в папке вашего проекта, вам не нужно менять каталог.Смена каталога
-
Введите следующие команды, чтобы указать свое имя пользователя и адрес электронной почты для конфигурации GitHub account.git –global user.name «kevinarrows»
Добавление адреса электронной почты и имени пользователя в конфигурацию
- Затем вы можете ввести команду для клонирования вашего хранилища в систему. Убедитесь, что вы скопировали ссылку на клон HTTPS в своем репозитории git@github.com: bashluffy / AppualsTest.gitКлонирование хранилища
- Это создаст папку вашего репозитория в папке, в которой вы запускаете Git Bash. Теперь введите команду изменения каталога, чтобы перейти в папку репозитория.cd AppualsTestСмена каталога
- Теперь загрузите новые файлы из этой папки в ваш репозиторий GitHub. Создайте или скопируйте файл в эту папку. В нашем случае мы создаем файл «appuals.txt».Создание текстового файла
- Введите следующую команду, чтобы добавить file.git add appuals.txt
- Теперь вам нужно зафиксировать файл, чтобы загрузить его в свою учетную запись GitHub. Введите следующий command.git commit -m «first commit» appuals.txtДобавление файла и использование команды commit
- Наконец, введите команду push, чтобы переместить файл в ваш repository.git push -u origin master
- Если вы делаете это в первый раз, он запросит ваше имя пользователя Git / адрес электронной почты и пароль для подтверждения учетных данных.Использование команды push для загрузки файла на GitHub
- Перейдите в свой репозиторий и обновите страницу, если она уже была открыта. Вы найдете новый файл, который вы только что загрузили.Проверка нового файла в хранилище
- Если вы сделаете какие-либо дальнейшие изменения в файле, вы можете использовать команды commit и push для загрузки нового файла поверх старого. Просто измени сообщение коммита.Может вносить изменения и обновлять файлы
Использовать
теперь, когда вы называете , например, как обычно из командной строки, Sublime Text откроется в мы создали выше, с параметрами проекта! При вводе абзаца вы заметите, что он проходит мимо линейки, которую мы установили, так как мягкая обертка выключена. принудить трудный обруч через автоматическ-введенные трудн-возвращения в конце каждого линия, поместите курсор на длинную линию, которую вы хотите автоматически обернуть и нажмите Alt + Q. теперь он будет жестко обернут / сложен на 72 символа, что мы установили в параметре «линейки» параметров проекта выше.
теперь сохраните сообщение фиксации с помощью Ctrl + S, и выход (для завершения вашего ) С Ctrl + Shift + W.
Изменение более старых или нескольких коммитов
Если вам нужно изменить сообщение о старых или нескольких коммитах, вы можете использовать интерактив git rebase для изменения одного или нескольких старых коммитов.
Команда rebase переписывает историю коммитов, и настоятельно не рекомендуется перебазировать коммиты, которые уже переданы в удаленный репозиторий Git .
- Перейдите в хранилище, содержащее сообщение фиксации, которое вы хотите изменить.
- Введите git rebase -i HEAD~N, где N число коммитов для выполнения перебазирования. Например, если вы хотите изменить 4-й и 5-й последние коммиты, введите:
git rebase -i HEAD~5
Команда отобразит последние X коммитов в текстовом редакторе по умолчанию :
pick 43f8707f9 fix: update dependency json5 to ^2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
- Переход к линии сообщения фиксации, который вы хотите изменить, и замените pick на reword:
reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)
- Сохраните изменения и закройте редактор.
- Для каждого выбранного коммита открывается новое окно текстового редактора. Измените сообщение о коммите, сохраните файл и закройте редактор.
fix: update dependency json5 to ^2.1.1
- Принудительно отправить изменения в удаленный репозиторий:
git push --force branch-name
Изменение самого последнего коммита
Команда git commit –amend позволяет вам изменить самое последнее сообщение о коммите.
Не изменять коммит
Чтобы изменить сообщение самого последнего коммита, который не был передан в удаленный репозиторий, передайте его снова, используя флаг –amend.
- Перейдите в каталог хранилища в вашем терминале.
- Выполните следующую команду, чтобы поправить (изменить) сообщение о последнем коммите:
git commit --amend -m "New commit message."
Команда выполняет перезапись самого последнего коммита новым.
Опция -m позволяет записать новое сообщение в командной строке без открытия редактора сессии.
Перед изменением сообщения о коммите вы также можете добавить другие ранее забытые изменения:
git add .git commit --amend -m "New commit message."
Измененный коммит
Измененный коммит – это новый объект с другим SHA-1. Предыдущий коммит больше не будет существовать в текущей ветке.
Как правило, вам следует избегать внесения изменений в коммит, который уже выдвинут, поскольку это может вызвать проблемы у людей, которые основывают свою работу на этом коммите. Хорошей идеей будет проконсультироваться со своими коллегами-разработчиками перед изменением принудительного коммита.
Если вы изменили сообщение о самом последнем введенном коммите, вам придется принудительно нажать его.
- Перейдите в хранилище.
- Исправьте сообщение о последнем введенном коммите:
git commit --amend -m "New commit message."
- Принудительно нажмите, чтобы обновить историю удаленного хранилища:
git push --force branch-name
2.5. (Необязательно) Установите пакет Git в Sublime Text 3.
Это дает вам подсветку синтаксиса для сообщений , а также доступ к другим командам git, таким как (который я часто использую в Sublime Text) или (который я не использую в Sublime Text, так как я предпочел бы командной строки для общего потока git, как я уже упоминал в своих комментариях ниже этого ответа).
Чтобы установить пакет: во-первых, убедитесь, что установлен «Управление пакетами». Затем нажмите Ctrl + Shift + P (так же, как Инструменты → Палитра команд) и введите все или часть «Пакет управления: установите пакет», затем нажмите «Enter». В появившемся окне поиска найдите пакет «Git» и нажмите Enter на нем или щелкните по нему, чтобы его автоматически установить.
После установки Ctrl + Shift + P, затем поиск «git» приведет к появлению команд git, которые вы можете использовать внутри внутри Sublime Text сейчас, например .
Настройка Git
Наконец, вам нужно задать несколько настроек для того, чтобы при выполнении коммитов была указана правильная информация.
Добавьте информацию со своим именем и электронным адресом:
$ git config --global user.name "имя_пользователя" $ git config --global user.email "электронный_адрес"
Для того чтобы увидеть введенную информацию, используйте команду:
$ git config --list
Вывод:
user.name=имя_пользователя user.email=электронный_адрес
Информация, которую вы ввели, хранится в конфигурационном файле Git, так что вы можете открыть его в любом текстовом редакторе:
$ nano ~/.gitconfig
И изменить информацию в следующем разделе:
name = имя_пользователя email = электронный_адрес
Существуют другие настройки, которые вы можете задать, но имя пользователя и электронный адрес – это первое, что обязательно должно быть указано.
Больше информации про Git вы можете найти в документации на русском языке.
Добавляем файлы в Git
На этом этапе Git не следит ни за одним из наших файлов. Необходимо специально добавить файлы в Git, чтобы это происходило. Для этого воспользуемся командой add.
git add my_file
Проверив статус репозитария видим, что один из файлов уже добавлен в него.
Чтобы добавить несколько файлов, используем следующее (заметьте, что первый файл мы добавили ранее, так что добавляем только оставшиеся два).
git add myfile2 myfile3
Можно использовать рекурсивно, но будьте осторожны с этой командой. Есть некоторые файлы (например, скомпилированные программы), которые не должны быть добавлены в систему контроля версий. Если вы используете рекурсивно, такие файлы также попадут в репозитарий.
Глобальный .gitignore
Git также позволяет вам создать глобальный файл , в котором вы можете определить правила игнорирования для каждого Git-репозитория вашей локальной системы.
Файл может называться по вашему усмотрению и храниться в любом месте. Наиболее распространенным местом хранения этого файла является домашний каталог. Вам придется вручную создать файл и настроить Git для его использования.
Например, чтобы установить в качестве глобального файла игнорирования Git, выполните следующие действия:
1. Создайте файл:
2. Добавьте этот файл в Git-конфигурацию:
3. Откройте файл в текстовом редакторе и добавьте в него свои правила.
Глобальные правила особенно полезны при игнорировании определенных файлов, которые вы никогда не захотите фиксировать, таких как файлы с конфиденциальной информацией или скомпилированные исполняемые файлы.
Для чего нужен .gitignore
Файл .gitignore используется для того, чтобы определить, какие файлы и папки не нужно добавлять в git репозиторий.
Мы конечно могли бы вручную добавлять нужные файлы в репозиторий, например так:
git add path/to/file
Однако это было бы очень трудоемко. Гораздо проще использовать команду:
git add .
Которая добавит все файлы в каталоге проекта.
Но что если нам не нужны абсолютно все файлы, а есть файлы например в каталоге или или проекта, которые генерируются в процессе работы. Они не должны быть добавлены в репозиторий.
Тут нам и нужен .gitignore. Вам нужно его самим создать и разместить в корне проекта либо нужной подпапке.
Программы контроля версий
Все файлы исходного кода в проекте называются базой кода. В крупных проектах над кодовой базой часто работает много разработчиков. Каждое изменение кода необходимо отслеживать и идентифицировать. При необходимости изменения должны быть обратимыми. Если разные разработчики вносят изменения в один и тот же файл исходного кода, их правки необходимо объединить.
Поэтому неудивительно, что существуют программы, называемые системами контроля версий, чтобы упростить управление изменениями в кодовой базе. Системы контроля версий содержат все предыдущие версии каждого файла в базе кода, и каждое изменение записывается, комментируется и отслеживается.
Начало работы с Git в Visual Studio 2019
Мы подробно расскажем вам о том, как использовать новый интерфейс Git в Visual Studio. Однако если вы хотите сначала ознакомиться с кратким обзором, посмотрите следующее видео: Длительность видео: 05:27 мин.
Существует три способа начать использование Git в Visual Studio для повышения производительности:
- . Если у вас уже есть код и он не связан с Git, можно начать с создания нового репозитория Git.
- . Если код, с которым вы хотите работать, не находится на вашем компьютере, можно клонировать любые существующие удаленные репозитории.
- . Если у вас уже есть код на компьютере, его можно открыть с помощью пункта меню Файл > Открыть > Решение/проект (или Папка). Visual Studio автоматически определяет, имеется ли инициализированный репозиторий GIT.
Observação
Начиная с версии 16.8 Visual Studio 2019 включает полностью интегрированный интерфейс для работы с учетными записями GitHub. Теперь вы можете добавить в цепочку ключей учетные записи GitHub и GitHub Enterprise. Вы сможете добавлять и использовать их так же, как и учетные записи Майкрософт. Это позволит упростить доступ к ресурсам GitHub в Visual Studio. Дополнительные сведения см. на странице Работа с учетными записями GitHub в Visual Studio.
Dica
Если у вас нет учетной записи GitHub, можно начать с выполнения действий, описанных в разделе Создание учетной записи GitHub для использования с Visual Studio.
3. Используйте его
Теперь, когда вы вызываете , например, как обычно из командной строки, Sublime Text откроется в проекте мы создали выше, с настройками проекта! Когда вы вводите абзац, вы заметите, что он проходит мимо линейки, которую мы установили, поскольку мягкий перенос слов отключен. Чтобы принудительно выполнить жесткую перенос с помощью автоматически вставленных жестких возвратов в конце каждой строки, наведите курсор на длинную строку, которую вы хотите автоматически обернуть, и нажмите Alt + Q. Теперь он будет жестко закручен/сложен на 72 символа, что мы установили в параметрах «правителей» параметров проекта выше.
Теперь сохраните сообщение о фиксации с помощью Ctrl + S и выйдите (чтобы завершить ) с помощью Ctrl + Shift + W.
Зависимости
На странице «Сборка из исходного кода» есть раздел «Сборка в Linux», и это как раз то, что нам нужно. Он говорит, что мы должны иметь Компилятор C, Бизон, и Flex установлены.
В инструкциях по сборке сказано, что нужно выполнить команду make, поэтому нам также понадобится make.
Инструменты, необходимые для создания этого приложения, — это компилятор C, Bison, Flex, make и Git (для клонирования репозитория на ваш компьютер).
Эта статья была исследована на компьютерах, работающих под управлением дистрибутивов Ubuntu, Fedora и Manjaro Linux. Ни в одном из дистрибутивов не были установлены все эти инструменты — на каждый из них нужно было что-то установить.
Инструмент 2: Pull Requests
Pull Requests — отличный способ внести свой вклад в репозиторий, сделав его форк. В конце дня, если мы хотим, мы можем отправить pull request владельцу репозитория, чтобы объединить наши изменения кода. Сам pull request может включать обсуждение качества кода, функций или даже общей стратегии.
Давайте теперь рассмотрим основные шаги для pull request.
Инициирование pull request
В Github есть две модели для pull request:
- Модель Fork & Pull — используется в общедоступном репозитории, на который у вас нет push-доступа
- Share Repository Model — используется в частном репозитории, на который у нас есть push-доступ. В этом случае форк не требуется.
Здесь мы видим рабочий процесс между двумя пользователями ( и ) для модели Fork and Pull:
- Определите репозиторий Github, в который вы хотите внести свой вклад, и нажмите кнопку «Fork», чтобы создать клон репозитория в вашей собственной учетной записи Github:
- Это создаст точную копию репозитория в вашем собственном аккаунте
- Выберите URL-адрес SSH, чтобы он запрашивал вашу парольную кодовую фразу SSH вместо имени пользователя и пароля каждый раз, когда вы делаете или . Затем мы будем клонировать этот репозиторий на наш локальный компьютер:
- Как правило, мы создадим новую ветку git для каждой новой задачи. Это хорошая практика, потому что в будущем, если мы продолжим обновление ветки после некоторых обсуждений, запрос на перенос будет автоматически обновляться. Давайте создадим новую ветку, чтобы внести очень простое изменение в файл :
- После внесения соответствующих дополнений для создания новых функций мы просто передадим новые изменения и проверку в ветку git master:
- На этом этапе мы запушим ветку в удаленный репозиторий. Для этого мы сначала перейдем на ветку с новой задачей, а так же на псевдоним для удаленного репозитория. Затем мы будем пушить изменения с помощью :
- На нашей развязанной странице Github репозитория мы перейдем к ветке с новой функцией, а затем нажмите кнопку «Pull Request».
- После отправки пул реквеста он напрямую приведет нас к странице запроса в исходном репозитории. Мы увидим наш запрос на pull.
- После обсуждения возможно, что владелец форкнутого репозитория может захотеть добавить изменения в новую функцию. В этом случае мы выберем одну и ту же ветку на нашей локальной машине, зафиксируем ее и запушим ее обратно на Github. Когда мы заходим на страницу запроса в оригинальном репозитории, он будет автоматически обновляться!
Слияние пул реквеста
Если вы являетесь владельцем оригинального репозитория, существует два способа слияния входящего пул реквеста:
- Слияние непосредственно на Github: если мы делаем слияние непосредственно на Github, то убедитесь, что нет конфликтов, и реквест готов к объединению в ведущую ветку. Владелец оригинального хранилища может просто щелкнуть зеленую кнопку «Слить запрос», чтобы сделать это:
- Слияние на наших локальных машинах: в других случаях могут возникнуть конфликты слияния, и после нажатия кнопки «Информация» у Github будут четкие инструкции о том, как мы можем объединить ветвь на нашей локальной машине, потянув за изменения из ветви контрибьютера:
Существуют различные модели создания веток, используемые для управления версиями в командах разработки программного обеспечения. Вот две популярные модели рабочего процесса git: (1) рабочий процесс Github, который имеет простую ветвящуюся модель и использует запросы на pull, и (2) Gitflow, который имеет более обширное разветвление. Модель, которая в конечном итоге будет выбрана, определенно будет меняться в зависимости от команды, проекта и ситуации.
Окно «Изменения Git» в Visual Studio 2019
GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды в командной строке.
- Файлы без изменений: эти файлы не были изменены с момента последней фиксации.
- Измененные файлы: эти файлы изменились с момента последней фиксации, но еще не были подготовлены для следующей фиксации.
- Промежуточные файлы: эти файлы содержат изменения, которые будут добавлены в следующую фиксацию.
В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.
Когда вы будете готовы подготовить изменения, нажмите кнопку + (плюс) для каждого из файлов, которые необходимо подготовить, или щелкните файл правой кнопкой мыши и выберите пункт Промежуточно сохранить. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку «Промежуточно сохранить все» ( + ) в верхней части раздела Изменения.
При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — . Можно также отменить подготовку изменений, нажав кнопку – (минус). Эквивалентная команда для этого действия — для отмены размещения одного файла или для отмены размещения всех файлов в каталоге.
Кроме того, можно отказаться от подготовки измененных файлов, пропустив область подготовки. В этом случае Visual Studio позволяет зафиксировать изменения напрямую без предварительной подготовки. Просто введите сообщение о фиксации и выберите Зафиксировать все. Эквивалентная команда для этого действия — .
Visual Studio также позволяет выполнить фиксацию и синхронизацию одним щелчком мыши с помощью ярлыков Зафиксировать все и отправить и Зафиксировать все и синхронизировать. Если дважды щелкнуть любой файл в разделе Изменения или Подготовленные изменения, то можно построчно сравнить измененную версию файла с неизмененной.
Dica
Если вы подключены к репозиторию Azure DevOps, вы можете связать рабочий элемент Azure DevOps с фиксацией, используя символ #. Чтобы подключить репозиторий Azure DevOps, выберите Team Explorer > Управление подключениями.
Выбор существующей ветви в Visual Studio 2019
В Visual Studio текущая ветвь отображается в селекторе в верхней части окна Изменения GIT.
Текущая ветвь также доступна в строке состояния в правом нижнем углу интегрированной среды разработки Visual Studio.
В обоих местах можно переключаться между имеющимися ветвями.
Создание новой ветви в Visual Studio 2019
Можно также создать новую ветвь. Эквивалентная команда для этого действия — .
Чтобы создать ветвь, достаточно ввести ее имя и указать существующую ветвь, на основе которой будет создана данная.
В качестве базовой можно выбрать существующую локальную или удаленную ветвь. Если флажок Извлечь ветвь установлен, вы автоматически переключитесь на новую ветвь после ее создания. Эквивалентная команда для этого действия — .