Показаны сообщения с ярлыком GitHub. Показать все сообщения
Показаны сообщения с ярлыком GitHub. Показать все сообщения

5 февраля 2015 г.

Практика работы с Git в Eclipse (Часть 3)

До сих пор мы работали с проектом в одной ветке. Теперь попробуем создать новую ветку от изначального первого коммита.

Ge0012

Ge0013

Ругнулся на те файлики что мы исключили из коммита

Ge0014

Жмем Commit… вводим комментарий к нашему коммиту и жмем Commit

Ge0008

В результате получаем

Ge0016

Ну и посмотрим все ветки

Ge0017

Сделаем какие-нибудь изменения в новой ветке, опять к примеру поменяем файлик strings.xml

И напомню, что сейчас он имеет вид, как в первом коммите, то есть содержит фразу Hello world! а не Hello Git! , так как мы начали новую ветку от первого коммита.

Ge0018

Поменяем нашу строчку на другую, например Hello MyNewBranch!

Ge0019

Сохраним изменения в файле strings.xml и сделаем новый commit

Ge0020

В результате имеем

Ge0021

Локально у нас сохранено две ветки, на удаленном сервере GitHub пока одна

Ge0023

Запустим наш измененный проект.

Ge0022

Все работает.

Теперь загрузим все наши обновления на GitHub

Ge0024

Попробуем оставить все по умолчанию и посмотрим что получится

Ge0025

Ge0026

Ge0027

Все загрузилось. Теперь имеем

Ge0028

Посмотрим что у нас на сервере GitHub

Ge0029

Переключимся в ветку HEAD, если помните, то по умолчанию мы назвали ее так при загрузке на GitHub. (И опыт сын ошибок трудных ….)

Ge0030

Ge0031

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

Ge0032

В результате

Ge0033

Запускаем проект и видим

Ge0034

Что мы удачно переключились на версию первого коммита.

Теперь попробуем притянуть все изменения на другом компе под 8 виндой.

G00036

в результате получили

G00037

Обновления притянулись, но мы остались в старой ветке. Теперь осталось просто переключится на новую ветку

G00038

По привычке ругнулся

G00039

Жмем Commit… и вводим комментарий

G00040

Жмем commit

G00041

И в результате переключились на ветку MyNewBranch

G00042

Ну вот немного  разобрались и с ветками. Но чтобы все лучше понять, надо побольше почитать про Git.

Практика работы с Git в Eclipse (Часть 2)

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

Сейчас мы имеем это

Ge0001

Ну и попробуем стянуть изменения с GitHub

Ge0002

Показывает что будет стянуто с GitHub

Ge0004

в результате имеем притянутые но не примененные к проекту обновления.

Ge0005

Применяем обновления к проекту

Ge0006

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

Ge0007

Жмем Commit и вводим коментарий

Ge0008

И опять жмем commit

Чет ругнулся

Ge0009

Но в результате мы получили все обновления включая и commit где мы изменяли strings.xml

Ge0010

Запустим наш обновленный проект чтобы убедиться что все работает.

Ge0011

Happy End!

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

4 февраля 2015 г.

Практика работы с Git в Eclipse (Часть 1)

И так у нас есть наш клонированные проект Test

G00001

Изменим строчку в файле strings.xml на Hello Git! и сохраним изменения нажав на иконку дискеты. Но такое сохранение не сохраняет изменения в репозитарий Git. Чтобы изменения сохранились в локальном репозитарии Git нужно дать команду Commit changes.

G00002

Обязательно вводим комментарий к коммиту и жмем Commit, чтобы сохранить изменения в локальном репозитарии.

G00003

После этого изменения будут зафиксированы в локальном репозитарии. Это можно увидеть в истории commit ов

G00004

Теперь можем посмотреть изменения которые были сделаны в данном коммите

G00005

Как видим, хотя мы изменили только один файл strings.xml в коммите присутствует еще несколько файлов. Это произошло потому, что Eclipse после каждого сохранения файла компилирует проект, что позволяет сразу находить ошибки в проекте, но ведет к увеличению расхода энергии процессора (это важно понимать и знать если работаете на ноутбуке на батарее). То есть после каждого раза когда вы что-то просто сохраняете в проекте происходит его компиляция.

Можно сравнить с предыдущей версией файла

G00006

В результате увидим

G00007

Теперь загрузим эти изменения на сервер GitHub для этого дадим команду Push

G00008

G00009

G00010

Нам сообщают что было загружено на GitHub

Теперь сходим на GitHub и посмотрим что там у нас теперь

G00011

На странице проекта на GitHub видим что у нас было 2 коммита, комент к последнему коммиту и его хэш код.

Если кликнуть по строке Изменили строку strings.xml на Hello Git! то увидим подробно какие были сделаны изменения

G00012

Сделаем еще какое-нибудь изменение в коде Активности, например просто добавим комментарий

G00013

И кроме того, нет ни какой необходимости загружать каждый раз на GitHub да и в локальное хранилище файлы .apk и .dex, попробуем исключить их из коммитов

G00014

И делаем commit

G00015

В окне истории видим наш новый коммит

G00016

Загрузим это все на GitHub

G00017

И посмотрим что теперь у нас на GitHub

G00018

И посмотрим конкретные изменения в этом коммите

G00019

И можно увидеть историю всех изменений то есть всех наших коммитов

G00020

G00021

Теперь попробуем сделать один трюк с локальным хранилищем Git в котором лежат наши проекты.

Зная что Git все свои настройки хранит в каталоге .git можно легко перемещать сам каталог с репозитарием Git куда нам надо.

Мне не нравится что в пути к нашему репозитарию Git два раза повторяется TestEclipse, то есть существует один не нужны подкаталог.

G00022

Попробуем это поправить. Выходим из Eclipse (на всякий случай) и архивируем последний каталог в пути TestEclipse где у нас и лежат файлы проекта

G00023

Затем запускаем снова Eclipse и в перспективе Git удаляем наш репозитарий. Мы собственно вообще ни чем не рискуем. Во первых у нас есть копия на GitHub и во вторых копия в архиве rar.

G00025

В принципе все удалилось, но все таки последняя папочка TestEclipse осталась и в ней один файлик .project, но это можно удалить и руками.

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

Теперь разворачиваем наш сохраненный архив таким образом

G00026

То есть из пути мы исключили одну лишнюю папку TestEclipse.

Далее идем в перспективу Git и выбираем добавить существующий локальный репозитарий Git

G00027

G00028

И вуууааааля! Вот он наш родненький репозитарий, но уже по другому более короткому пути

G00029

Теперь только осталось добавить наши проекты в рабочее пространство

G00030

G00031

G00032

и вот они наши проекты в рабочем пространстве

G00033

Со всей историей изменений

G00034

В принципе использовать Git можно только локально и не публиковать свои проекты на Github. Однако если вы хотите облагодетельствовать мир своим кодом, а так же иметь надежное резервное хранилище, то можно использовать Github или подобные ему репозитарии Git в интернет.

Ну и чтобы проверить что все работает запустим наш проект

G00035

Все работает!