ZaLinux.ru

Как сделать и отправить изменения на Github

Github — это потрясающий инструмент для совместной разработки программного обеспечения. По работе с git достаточно много документации: в справке программы и в Интернете.

Будучи очень гибкой и имея множество команд и опций, git при первом знакомстве может вызвать чувство растерянности. Опции и команды git нужно тщательно изучать, но в этой заметке «грязная» и короткая инструкция, которая по шагам показывает, как сделать изменения в программе, размещённой на Github и как отправить свои изменения автору.

Прежде чем отправить свои изменения коду автору программы, настоятельно рекомендуется ознакомиться с его пожеланиями. Они могут быть связаны как со стилем программирования (особенности наименования переменных, например), так и с особенностями форматирования (использование клавиши табуляции или четырёх пробелов, например). Даже если автор не написал свои пожелания, крайне рекомендуется следовать стилю кода, который вы редактируете.

Как редактировать исходный код на Github'е

Я покажу здесь часть реального рабочего процесса над реальным кодом.

Ситуация: в программе airgeddon в ветку EvilTwin мне нужно внести изменения в некоторые строки. Я начинаю с клонирования кода на локальный диск:

git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git -b EvilTwin

Обратите внимание, что я использую ключ -b, после которого указываю имя ветки EvilTwin. По-умолчанию клонируется самая новая ветка (ветка, в которой были сделаны самые свежие изменения). Поскольку именем по умолчанию является master, то обычно именно эта ветка и клонируется.

Название веток и особенности рабочего процесса у каждого проекта могут быть свои — и они обсуждаются внутри команды или доступны в виде публичных правил.

Исходный код можно редактировать в вашем любимом редакторе или в IDE. После окончания внесения правок, в командной строке переходим в директорию с программой и выполняем там:

git status

Выводиться информация о статусе (изменён файл) и подсказки, что делать дальше:

На ветке EvilTwin
Ваша ветка обновлена в соответствии с «origin/EvilTwin».
Изменения, которые не в индексе для коммита:
  (используйте «git add <файл>…», чтобы добавить файл в индекс)
  (используйте «git checkout -- <файл>…», чтобы отменить изменения
   в рабочем каталоге)

	изменено:      airgeddon.sh

нет изменений добавленных для коммита
(используйте «git add» и/или «git commit -a»)

21

Добавляем файл(ы), в которых были сделаны изменения:

git add airgeddon.sh

И опять смотрим статус:

git status

22

Нам нужно написать комментарий к тому, что мы сделали с кодом:

git commit -m "Updating Russian translation (minor fixes)"

Получаем примерно следующую информацию:

[EvilTwin 39b8960] Updating Russian translation (minor fixes)
 1 file changed, 8 insertions(+), 8 deletions(-)

Если любопытно, можно опять посмотреть статус:

git status
На ветке EvilTwin
Ваша ветка опережает «origin/EvilTwin» на 1 коммит.
  (используйте «git push», чтобы опубликовать ваши локальные коммиты)
nothing to commit, working tree clean

Полученная информация и подсказка свидетельствуют, что всё готово для отправки наших изменений на Github. Чтобы это сделать я выполняю команду (EvilTwin в данном случае — это название ветки, в которую я делаю коммит):

git push origin EvilTwin

У вас спросят имя пользователя (e-mail) и пароль на Github и будет выведена примерно следующая информация:

Подсчет объектов: 3, готово.
Delta compression using up to 3 threads.
Сжатие объектов: 100% (3/3), готово.
Запись объектов: 100% (3/3), 420 bytes | 0 bytes/s, готово.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/v1s1t0r1sh3r3/airgeddon.git
   04d1fb4..39b8960  EvilTwin -> EvilTwin

Напоследок можно опять проверить статус:

git status

Я получил:

На ветке EvilTwin
Ваша ветка обновлена в соответствии с «origin/EvilTwin».
nothing to commit, working tree clean

Рекомендуемые статьи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *