LINUX.ORG.RU

Организация хранилища GIT, способы и методы разделить проекты

 


0

1

Доброго времени суток. Вопрос наверняка был поставлен не раз. Интересует - как люди приспосабливаются. А может проблема уже решена каким-либо образом - но мне пока недоступно её решение. Суть в следующем: - Возможно ли хранение в хранилище различных проектов каким-либо таким образом, чтобы коммит в файлах одного проекта не затрагивал коммиты в других. Смысл в том - что находясь в одной ветке откаты, например, для одних исходников, соотв. произведут откаты и для других исходников. Хотелось бы, чтобы было как в SVN - для каждого форка откаты и коммиты не влияли на другие проекты в хранилище. Или целесообразней тупо делать хранилище для каждого отдельного проекта? Большая просьба выдать ссылки и рекомендации начинающему чайнику в работе с GIT...

Ответ на: комментарий от grazor

смысл таков - если хранить коммиты нескольких проектов в одном хранилище (вне зависимости от ветвления) - при откате к определённым коммитам одного проекта автоматом произойдёт откат и в других ). Т.е. GIT, как я понимаю, работает с хранилищем целиком, не деля его на проекты при коммитах... А мне хотелось бы, чтобы можно было сопровождать в одном хранилище несколько проектов независимо друг от друга.

kontropupix
() автор топика

Суть в следующем: - Возможно ли хранение в хранилище различных проектов

Вот есть каталог ".git" — это и есть то самое волшебное хранилище, где хранятся все варианты файлов исходников: прошлые, настоящие и будущие. А ты о каком хранилище?

Смысл в том - что находясь в одной ветке откаты, например, для одних исходников, соотв. произведут откаты и для других исходников.

Вообще не распарсил! Это нужно чтобы такое поведение было? Или наоборот от этого избавиться надо?

justAmoment
()
Ответ на: комментарий от kontropupix

Нет, «/thread» значит тема закрыта, больше нечего обсуждать.

Тебе просто нужны отдельные репозитории для каждого проекта, точка.

slovazap
()

Может не коммитить сразу в несколько проектов? Ежели так вышло git diff'y можно указать на путь.

anonymous
()

Почему вообще захотелось одно хранилище для разных проектов? Если это форки/отработка идей/поддержка старых версий - то для этого есть ветки. Если проекты слабо связанные то разные хранилища естественно. Если хочется иметь рабочие копии разных веток одновременно - можно и это организовать, но может следует подумать а надо ли? А вообще - коммиты почаще, комментарии осмысленные - проблем меньше.

Elyas
()
Ответ на: комментарий от justAmoment

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

kontropupix
() автор топика
Ответ на: комментарий от slovazap

Спасибо. Видимо так и есть. Я просто надеялся, что есть варианты...

kontropupix
() автор топика

То, чего ты хочешь, плохо ложится на идеологию гита. Гит подталкивает разработчиков делать мелкие относительно независимые хранилища и объединять их через механизм submodule.

Да, в svn я сам делал монструозные репы, но даже там относительно свежие решения типа Subversion Edge дают возможность дирижировать кучей реп с единой авторизацией и проч.

hobbit ☕☕☕☕☕
()
Ответ на: комментарий от Elyas

Я имел в виду бранчи. Например разные драйвера или разные программы. Они, к примеру, для одного изделия, но в целом независимы. Конечно коммиты чаще и комменты от части помогают.

kontropupix
() автор топика
Ответ на: комментарий от pru-mike

Использование SVN подразумевает регулярное объединение всех наработок. В моём случае работа больше удалённая, редко «сливаемая». Как я понял - ГИТ здесь лучше подходит

kontropupix
() автор топика
Ответ на: комментарий от hobbit

Спасибо. Видимо Вы правы, я понимаю, что ГИТ-у моя «желалка» не свойственна. Буду копать в сторону использования submodule с маленькими репами.

kontropupix
() автор топика
Ответ на: комментарий от kontropupix

при откате к определённым коммитам одного проекта автоматом произойдёт откат и в других

Что ты за чушь несёшь. В svn, например, нельзя никуда откатиться, можно только сделать ещё один коммит с патчем откатывающим изменение. Точно так же можно сделать и в git, т.е. делать патч откатывающий изменения частично, например, только в определённой директории, как-то так

git diff last..first -- some/dir | git apply
Но вообще тебе со своим тяготениям к помойкам нечего смотреть на git, для таких как ты достаточно svn.

anonymous
()

Тред не читал.

мы используем gitolite.

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

PunkoIvan
()
Ответ на: комментарий от kontropupix

git diff, очевидно. Я не понимаю что такое snapshot, но commit это сохранённое состояние всего дерева, на которое потом можно откатить, сравнить (diff), подарить друзьям (push).

Я в subversion не Копенгаген, поэтому не могу сказать в чем разница.

У нас на все одна репа без субмодулей в которой хранятся все исходники включая все зависимости. Проблем пока небыло.

anonymous
()
Ответ на: комментарий от anonymous

«В svn, например, нельзя никуда откатиться» - умно )). А на кой он тогда нужен - этот svn? P/S - троллингом лучше заниматься на политическах сайтах. Там это не будет смотреться столь глупо...

kontropupix
() автор топика
Ответ на: комментарий от kontropupix

неправильный выбор инструмента, бранчи совсем для другого

anonymous
()
Ответ на: комментарий от kontropupix

троллингом лучше заниматься на политическах сайтах. Там это не будет смотреться столь глупо...

Придурок, ты бы сходил сначала ознакомился с устройством subversion

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.