Предыдущий ролик Следующий ролик  

Видео урок: Редактура имени файла backpack и ссылок

Git: обучение основам

В этом ролике мы внесем другое изменение на сайт Explore California. Оно заключается в том, что мы переименуем один из HTML файлов. Из корня веб сайта вы проходите в меню Tours (туры). Открываете его. Видите первый тур – он называется Backpack Cal. Тур имеет небольшую симпатичную картинку Backpack Cal. Ссылка learn more откроет страницу с детальной информаций, но обратите внимание, что имя файла звучит как tour_detail_backpack, вот он. Он не конкретизирует Backpack Cal. А я считаю, что может быть много вещей, которые войдут в tour_detail_backpack в будущем. Ведь в этом месте может быть много приключений.

Нам нужно быть более конкретными. Мы поменяем название файла на tour_detail_backpack_cal, так чтобы оно соответствовало тому, что находится в остальной части страницы. То есть нужно переименовать файл, а также изменить некоторый контент на некоторых страницах, где есть ссылки на этот файл. Очень распространенная задача, которая может возникнуть при работе с HTML веб сайтом. Я мог бы переименовать этот файл изнутри проекта. Я мог бы зайти в операционную систему и переименовать файл, но я считаю, что лучше сделать переименование из Git, так что в моей рабочей директории прямо сейчас нет изменений.

Давайте переименуем выполнив git move. Файл будет внутри директории tours. Его текущее имя - tour_detail_backpack.html. Мы перемещаем его в tours/tour_ detail_backpack_cal.html. Вот он перемещен. Если мы посмотрим сюда, вы увидите, что он перемещен. В проекте это также показано. Если мы используем finder, мы также видим, что он перемещен, а если мы напишем git status, эта команда показывает, что файл был переименован.

Теперь нам нужно отследить все ссылки на эту HTML страничку. Сделаем мы это глобальным поиском, а конкретнее поищем все, что является – _backpack.html. Вы видите три экземпляра, я кликаю по этим трем экземплярам, они открываются, и их я собираюсь поменять. Вот первый backpack_cal, сохраняю его и закрываю. Этот правильный backpack_cal, сохраняю, закрываю, и последний сохраняю и закрываю. Вот я сделал эти три изменения. Если мы сделаем глобальный поиск по backpack.html, мы ничего не найдем, а если мы сделаем поиск по backpack_cal, все три будут здесь.

Мы поменяли нашу рабочую директорию, пишем git status. В рабочей директории есть эти три изменения. В буфере есть переименованный файл. Теперь я хочу убедиться, что кое-что для вас абсолютно понятно. Сейчас мы ничего не закоммитим в репозиторий и перейдем в Firefox. Зайдем в Explore California, Tours. Вот тур. Ссылка learn more. Обратите внимание, куда она нас приведет. Вы можете увидеть ее внизу экрана, или я пройду вот сюда. Вы можете увидеть ее здесь. Она привела меня на backpack_cal.

Ссылка уже изменена. Просто убедитесь, что вам это абсолютно понятно. Наша рабочая директория - это то, с чем мы работаем. И это то, на что мы смотрим в браузере. Браузер не имеет ничего общего с тем, что находится в репозитории или в буфере. Он работает с тем, что находится в файловой системе. Таким образом, если мы меняем файлы в рабочей директории, мы видим эти изменения в браузере. То есть, когда мы что-то меняем, таким способом мы можем убедиться, что все верно. Если вы делаете что-то, что не касается веб, если вы пишете код, вы можете скомпилировать его, чтобы убедиться, что он работает, но когда вы получаете именно то, что хотите, и все выглядит верно. Вы можете перейти в Git и сказать - хорошо, git, моя рабочая директория находится в том состоянии, когда можно сделать коммит. И я готов его сделать.

Я просто хочу убедиться, что вы понимаете, что ваша рабочая директория - это то, с чем вы работаете все время. Вот так. То, что происходит в буфере и репозитории - это для Git. Вы не сможете работать с этими вещами из браузера или компилировать их. Вам нужно внести эти изменения в рабочую директорию, чтобы иметь возможность работать с ними. Итак, теперь мы готовы сделать коммиты, давайте напишем git add и добавим tours.html. Туры добавлены в список. Мы также добавляем эти два файла, в которых мы сделали изменения.

Они находятся в одной директории – директории tours. На самом деле мы можем просто сказать git add tours, а затем поставить слэш, чтобы убедиться, что он знает, что это директория и все, что находится внутри нее. Затем вы вставляете звездочку, и Git тогда знает, что все, что внутри, - это подстановка, но вам в это не обязательно углубляться. Добавьте все из директории tours в буфер, git status. Очищаю экран, чтобы было лучше видно, и теперь мы видим, что все на месте. Обратите внимание, что мы не видим отдельных записей о переименования, которое мы сделали и для изменений, которые мы сделали от одного файла к другому. Это что-то необычное? Мне нужно, чтобы вы были в курсе этого.

Мы внесли изменения в файл detail_backpack, мы поменяли в нем URL. Но в данном случае Git говорит нам только о переименовании. Предположим, мы уже готовы сделать коммит, и вдруг нам звонит клиент и говорит, что мы должны что-то поменять на странице Contact, что на странице с аккаунтом есть все эти сокращения. То есть нам нужно их убрать. Давайте переключимся во время разговора с клиентом, чтобы убедиться в том, что у нас все верно. Мы говорим - если вы находитесь на этой странице, то, как мы думаем, вы должны видеть что-то типа такого - "Напишите нам".

Если вы ищете наши сезонные туры - уберите лишний пробел. Хотя мы не говорим это каждому, но будьте уверены, что вы получите хорошую скидку, если вы сейчас выбираете тур. Мы убираем все сокращения и говорим - ой, извините, здесь осталось одно. Скажите, что вы думаете. Теперь мы все поправили. Сохраняем это. Возвращаемся в Git – git status. Теперь у нас есть это дополнительное изменение, которое мы сделали для страницы Contact.

С клиентом мы больше не говорим, мы внесли изменения, и мы готовы поработать с ними в Git. Лучше всего обработать эти изменения как два отдельных коммита. Вы не захотите сочетать коммит про контакты с коммитом, который касается туров, tours, потому что коммит, который касается туров, совершенно другой. Мы хотим, чтобы коммиты несли смысловую нагрузку. Нам больше не нужно разрывать эту тройку файлов. Они все связаны, их всех касается одно концептуальное изменение, которое мы сделали. Но концептуальное изменение, которое мы внесли в контакты, совершенно другое.

Поэтому давайте сделаем это двумя разными коммитами. Пишем git commit -m, и первый коммит будет таким - "Renamed Backpack Cal file for clarity". А затем мы пишем git commit - и, помните, я называл вам сокращение - git commit -a, и m после него. Мы пишем - "Removed contractions from contact page text", затем пишем git status.

Наша рабочая директория чиста. git log – и мы видим оба наших коммита. И нам абсолютно ясно, что делает каждый из этих коммитов. Мы видим, в чем заключаются изменения. Нужна практика, конечно, чтобы научиться правильно группировать файлы и писать хорошие коммиты. Но со временем вы этому научитесь.