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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.