git-svn фиксирует один каталог? - PullRequest
0 голосов
/ 08 июля 2011

Используя TortiseSVN, вы можете обновить / зафиксировать один каталог, щелкнув правой кнопкой мыши по каталогу и выбрав update или commit.

Мне действительно нравится ветвящая способность git, но если я использую git svn dcommit, он попытается обновить весь репозиторий, в котором в нашем случае есть несколько проектов.

Так как же я могу зафиксировать только определенные файлы / каталоги?

Спасибо!

EDIT

Чтобы уточнить, как выглядят репозитории SVN:

+- Trunk
|
+-+- Project 1
| |
| +- Project 1 files...
|
+-+- Project 2
| |
| +- Project 2 files..
|
+-+- My Project
  |
  +- My Project files...

И когда я запускаю git svn dcommit, он пытается обновить все в Project 1, 2 и My Project.

Проекты 1 и 2 совершенно не связаны и разрабатываются другими. Как мне избежать обновления / фиксации других проектов? Я просто добавляю эти dirs к .gitignore? А что если мне позже понадобится работать над этими другими проектами? В качестве альтернативы, есть ли лучший способ использовать git svn для работы с этим типом хранилища Subversion?

Ответы [ 2 ]

0 голосов
/ 09 июля 2011

Когда вы делаете git svn dcommit, каждый коммит в вашем локальном git-репо будет зафиксирован как отдельный коммит в ваш svn remote.Если вы хотите сделать его одним коммитом, посмотрите этот вопрос: Возможно ли сделать git svn dcommit результатом одного коммита svn? , а также обратиться к разделу История переписывания Книга ProGit и глава Интерактивная перебазировка из книги сообщества Git.

0 голосов
/ 08 июля 2011

git add каталог, который вы хотите, зафиксируйте его и затем выполните dcommit (после соответствующего выбора вишни)

Я не вижу, как возникает проблема с несколькими проектами. Вы будете добавлять файлы в соответствующий проект и добавлять их. Не сравнивайте commit в SVN с dcommit здесь. Сравните коммит в SVN с коммитом в Git. Точно так же, как «щелкнуть правой кнопкой мыши по каталогу» и зафиксировать его, git add (или использовать TortoiseGit и сделать то же самое, что вы делаете в TortoiseSVN) только этот каталог и зафиксировать. Затем выполните dcommit.

...