Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
BRE |
26.9.2010, 12:43
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Камрады, подскажите.
Начал новый проект, решил в нем использовать git. Вопрос следующий. Есть удаленный репозиторий (лежит в общей папке). Клонирую его в devel-папку. Что-то добавил, сделал commit, сделал push. Что-то добавил, сделал commit, сделал push. В devel-репозитории могу жестко откатиться, выполнив: $ git reset --hard <ревизия> А вот как бы мне в удаленном откатиться. И что будет после этого с другим devel-репозиторием, там была создана другая ветка и в ней были коммиты? |
|
|
|
|
Litkevich Yuriy |
26.9.2010, 13:27
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(BRE @ 26.9.2010, 16:43) Link В devel-репозитории могу жестко откатиться, выполнив: отправляй изменения, поставив галку "переписать существующую ветвь" Но это не нормальный режим$ git reset --hard <ревизия> Цитата(BRE @ 26.9.2010, 16:43) Link И что будет после этого с другим devel-репозиторием, там была создана другая ветка и в ней были коммиты? в другом хранилище просто придётся разруливать при слиянии. У каждого хранилища свои веткиЦитата(BRE @ 26.9.2010, 16:43) Link Что-то добавил, сделал commit, сделал push. вообще так не делается. Делается так:Что-то добавил, сделал commit, сделал push. 1)создал ветвь от интерисующей ветви 2)Что-то изменил, сделал commit. ... Что-то добавил, сделал commit. 3) Убедился что всё хорошо. 4) слил свою ветвь с исходной 5) отправил исходную ветвь в общее хранилище. |
|
|
|
|
BRE |
26.9.2010, 13:52
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(Litkevich Yuriy @ 26.9.2010, 14:27) Link отправляй изменения, поставив галку "переписать существующую ветвь" Но это не нормальный режим Эээ... А как будет в командной строке? Цитата(Litkevich Yuriy @ 26.9.2010, 14:27) Link в другом хранилище просто придётся разруливать при слиянии. У каждого хранилища свои ветки Т.е. можно будет слить, даже если откатимся до момента создания этой ветки? Цитата(Litkevich Yuriy @ 26.9.2010, 14:27) Link вообще так не делается. Делается так: Это штатный режим. У меня получилось следующее. Разработка ведется на одной машине. Основная разработка происходит в linux, но к сожалению есть части которые будут доступны только в венде и их разработку приходиться делать в virtualbox'ой венде. Так вот я добавил класс в linux, сообразил, что его разработку нужно делать в венде (в linux сборка этого модуля отключена в конфигурации), с перепугу слил devel-ветку с master и сделал push, что бы я смог обновить вендовый devel-репозиторий. Но в master остались файлы этого класса, я их убрал и опять закомител master. А сейчас там две ривизии не к селу, не к городу: * Убрали ClassName * Добали ClassName Вот и хочется от этого уйти. |
|
|
|
|
Litkevich Yuriy |
26.9.2010, 15:18
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(BRE @ 26.9.2010, 17:52) Link А как будет в командной строке? не знаю, читайте git help push, меня командная строка минимально интересует.Цитата(BRE @ 26.9.2010, 17:52) Link Т.е. можно будет слить, даже если откатимся до момента создания этой ветки? конечно, т.к. в локальном хранилище свои веткиЦитата(BRE @ 26.9.2010, 17:52) Link с перепугу слил devel-ветку с master и сделал push, что бы я смог обновить вендовый devel-репозиторий. надо было просто отправлять эту ветку, её бы вытянул в другом хранилище и слил как надо.Цитата(BRE @ 26.9.2010, 17:52) Link А сейчас там две ривизии не к селу, не к городу: не понял конечную цель* Убрали ClassName * Добали ClassName Вот и хочется от этого уйти. П.С. при любых сомнениях делай ветку от текущей, текущую сбрасывай в последнее состояние. Так у тебя будет заначка в виде допветки. у меня в некоторых хранилищах повисших веток с десяток. Есть не просят - пусть живут |
|
|
|
|
BRE |
26.9.2010, 15:31
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(Litkevich Yuriy @ 26.9.2010, 16:18) Link не понял конечную цель Если смотреть лог, то выводится два комита: 26/09/10 09:10:00 * Убрали ClassName 26/09/10 09:00:00 * Добавили ClassName 25/09/10 22:00:00 * Важные изменения. .... Одним комитом добавили, другим сразу убрали файлы для ClassName. И все это в master. Не эстетично, вот и хочу откатить master до "Важные изменения". Цитата(Litkevich Yuriy @ 26.9.2010, 16:18) Link П.С. при любых сомнениях делай ветку от текущей, текущую сбрасывай в последнее состояние. Так у тебя будет заначка в виде допветки. у меня в некоторых хранилищах повисших веток с десяток. Есть не просят - пусть живут Нужно нарабатывать новые привычки. Ок, спасибо. |
|
|
|
|
Litkevich Yuriy |
26.9.2010, 18:17
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(BRE @ 26.9.2010, 19:31) Link Одним комитом добавили, другим сразу убрали файлы для ClassName. а нужно получить:26/09/10 09:10:00 * Убрали ClassName 25/09/10 22:00:00 * Важные изменения. Т.е. минус промежуточное? Ну в принципе почистить можно. делаешь сейчас от мастера ветку, мастера сбрасываешь на - 26/09/10 09:10:00 * Убрали ClassName делаешь копирование изменения (cherrypick) для состояния - 25/09/10 22:00:00 * Важные изменения. тем самым в мастере получаешь: 26/09/10 09:10:00 * Убрали ClassName 25/09/10 22:00:00 * Важные изменения. всё П.С. всю эту процедуру (и особенно cherrypick) удобнее делать в GitTk |
|
|
|
|
igor_bogomolov |
26.9.2010, 18:19
Сообщение
#7
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
Цитата(BRE @ 26.9.2010, 14:52) Link Эээ... А как будет в командной строке? $ git reset --hard <ревизия>$ git push --force Цитата(Litkevich Yuriy @ 26.9.2010, 16:18) Link П.С. при любых сомнениях делай ветку от текущей, текущую сбрасывай в последнее состояние. Так у тебя будет заначка в виде допветки. Зачем копить кучу не нужных веток. Иначе вывод git branch превратится в полотенце. Читать трудно, да и вообще приимуществ ни каких. После того как слил наработки в рабочую ветку, временный бранч нужно удалять
у меня в некоторых хранилищах повисших веток с десяток. Есть не просят - пусть живут |
|
|
|
|
BRE |
26.9.2010, 18:35
Сообщение
#8
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(igor_bogomolov @ 26.9.2010, 19:19) Link $ git reset --hard <ревизия> $ git push --force Спасибо. Уже сделал. На --force сразу посмотрел, просто было страшновато, как он там все откатывать будет и что с ветками произойдет, но сделав копию bare-репозитория приступил к экспериментам. Заодно немного разобрался с reset --soft/--hard. |
|
|
|
|
Litkevich Yuriy |
26.9.2010, 18:55
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(igor_bogomolov @ 26.9.2010, 22:19) Link Иначе вывод git branch превратится в полотенце а я его не далаю, консолью не пользуюсь, поэтому и проблем у меня нетЦитата(igor_bogomolov @ 26.9.2010, 22:19) Link После того как слил наработки в рабочую ветку, а кто сказал что я их слил?
|
|
|
|
|
igor_bogomolov |
26.9.2010, 19:14
Сообщение
#10
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
Цитата(Litkevich Yuriy @ 26.9.2010, 19:55) Link а я его не далаю, консолью не пользуюсь, поэтому и проблем у меня нет Я наоборот, в основном пользуюсь только консолью. Изредка могу через креатор коммит сделать. Графическа оболочка гита так ни одна и не понравилась. Пользуюсь ими только если надо посмотреть "дерево" изменений.Я за чистоту в проекте и репозитории. Цитата(Litkevich Yuriy @ 26.9.2010, 19:55) Link а кто сказал что я их слил? Тогда тем более зачем они тебе? Получается у тебя много заброшенных устаревших веток, функционал которых тебе не нужен |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 24.12.2025, 17:56 |