git

Описание: Разработка и отладка приложений. Упор на 3D-графику.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Пт, 19 сентября 2014, 10:39:36

Репозиторий Игоря Шарова
https://git.jerdin.ru/

Сначала нужно его изучить
http://githowto.com/ru
Говорят он лучше, чем SVN.

Учебник, по которому получается
http://ruseller.com/lessons.php?id=2035&rub=28

GITHUB клиент под windows
https://desktop.github.com/

Ещё один хороший учебник
https://git-scm.com/book/ru/v2/Команды-Git-Основные-команды

Rebase!!!
https://htmlacademy.ru/blog/27-how-to-squash-commits-and-why-it-is-needed
Спойлер
Как склеивать коммиты

Сначала узнаем, сколько коммитов нужно склеить. Эта команда покажет, какие коммиты у вас прибавились по сравнению с веткой master:

git cherry -v master

А эта — сколько их:

git cherry -v master | wc -l

Отлично, у меня 5 коммитов. Теперь я хочу переписать историю с момента HEAD~5, т.е. с того, что было 5 коммитов назад. Для этого я делаю так:

git rebase -i HEAD~5

флаг -i — значит в интерактивном режиме. У меня открывается такой файл:

Тут список моих коммитов и большой комментарий о том, что я могу сделать. Из списка комманд видно, что мы можем использовать squash или fixup для того, чтобы склеить коммиты. Первый пригодится тогда, когда вы хотите изменить коммит-месседж, а второй — когда хотите использовать коммит-месседж первого. Итак, чтобы склеить все коммиты, я делаю вот так:

То есть я говорю гиту «используй первый коммит, а остальные приклей к нему». Потом я сохраняю файл и закрываю его. Гит склеивает коммиты и предлагает мне ввести коммит-месседж (показывает коммит-месседжи всех склеенных коммитов):

Коммит-месседжи склеенных коммитов
Коммит-месседжи склеенных коммитов
Я хочу оставить только последний:

Коммит-месседж результирующего коммита
Коммит-месседж результирующего коммита
Сохраняю файл и смотрю лог:

git log

Ура, остался один коммит с нужным сообщением.

Теперь нужно вашу работу отправить на ваш гит-сервер. Обычно вы делаете это с помощью git push, но сейчас вам это не удастся:

git push

Это потому, что ваша локальная ветка и ветка на сервере отличаются. Причём не просто в локальной ветке есть некоторые коммиты, которых нет на сервере, но и старых коммитов нет. Ведь у вас теперь один новый коммит вместо всех прежних. Чтобы запушить на сервер все ваши изменения, несмотря на конфликт, запустите пуш с флагом --force:

git push --force
Теперь всё получилось! Используйте форс только тогда, когда вы уверены в своих действиях![/quote]
Фишка в том, что надо
1. удалить незакоммиченые файлы
2. несколько раз сделать git --continue, когда ГИТ будет падать))
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#2 dyvniy » Пт, 2 января 2015, 20:40:40

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#3 dyvniy » Чт, 3 декабря 2015, 09:27:56

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#4 dyvniy » Вс, 31 января 2016, 10:46:06

работа с локальной веткой в git
http://webhamster.ru/mytetrashare/index/mtb0/1437642806uhciaqye4d
Спойлер
Как в Git залить новую локальную ветку в репозитарий
23.07.2015
12:13
Текстовые метки: git, новая, ветка, публикация, залить, репозитарий
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git
Допустим, мы создали новую ветку в локальном репозитории. Новая ветка создавалась следующей командой:

$ git checkout -b dev
Switched to a new branch 'dev'

Для публикации в удаленном репозитарии можно использовать следующую команду:

$ git push origin dev
Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:devlabuser/sharp.git
* [new branch] dev -> dev

Однако, такая команда не сделает ветку dev на удаленном репозитарии отслеживаемой и связанной с локальной. Поэтому, лучше всего воспользоваться командой:

$ git push --set-upstream origin dev

Или, что то же самое, но с сокращенным именем опции:

$ git push -u origin dev

После этой команды локальная ветка dev и ветка dev в репозитарии будут связаны между собой. То есть, после такой команды (короая выполняется единожды), можно будет отправлять/принимать изменения лишь выполняя git push из ветки без указания всяких алиасов для сервера и удалённых веток. Это сделано просто для удобства.

Код: Выделить всё

 git push -u origin dev

где dev - ветка.
В моём случае git push -u master n.vovk
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#5 dyvniy » Вт, 2 февраля 2016, 16:16:17

Может правда он не так сложен...
http://think-like-a-git.net/
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#6 dyvniy » Чт, 14 апреля 2016, 10:52:30

Изображение


Название раздела: Программирование (под Desktop и Android)
Описание: Разработка и отладка приложений. Упор на 3D-графику.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Программирование (под Desktop и Android)»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 4 гостя