Во-первых, вам не нужно иметь дополнительную VCS для выполнения проверки кода в вашей компании, прежде чем совершить trunk
. Хмарбайз ответ правильный. Правильный (и вменяемый) способ сделать это - создать ветку , внести изменения в ветку, попросить коллегу проверить эту ветку, когда вы закончите, просмотреть код, внести исправительные изменения. ветвь, и тогда тот, кто имеет полномочия, объединит вашу ветвь в trunk
. Это основной протокол VCS. Если это не то, как ваша компания делает это, это верный знак, что ваша компания делает это неправильно, когда дело доходит до VCS.
Если вам абсолютно необходимо использовать внешний инструмент, поскольку политика вашей компании бессмысленна, то для решения следующей части вашего вопроса
Пример, скажем, - ради
понятность - что я работаю
в одном файле.
- SVN выбрана версия 1000
- Добавлено изменение кода A, git commit.
- Добавлено изменение кода B, git commit.
- Добавлено изменение кода C, git commit.
Теперь мой сотрудник принимает изменения A
и C, но не согласен с изменением B,
и хочет больше комментариев, чтобы идти вместе
с изменением Б. Результат я хочу
в конечном итоге это:
- SVN rev 1001 - Изменение кода A
- SVN rev 1002 - Изменено изменение кода B + дополнительные комментарии
- SVN rev 1003 - Изменение кода C.
Я не очень знаком с Git, и
Я довольно знаком с SVN. Как я
изменить взносы, которые я совершил
в изменение кода B, не делая
четвертый коммит?
Я даже не понимаю, почему вы хотите избежать четвертого коммита, если вам разрешено сделать три коммита, которые влияют на одну функцию.
Если вы действительно, действительно намереваетесь реализовать всю эту идею, тогда да, вы можете сделать это, и для этого вам необходимо очень осторожно использовать git rebase --interactive
. Эта мощная команда может позволить вам вернуться к своим коммитам и полностью изменить изменения, внесенные в каждый из них. Я должен подчеркнуть, что это может привести к потере работы (или, по крайней мере, стоить вам значительного времени на восстановление), и это следует делать только в том случае, если вы очень хорошо знаете сам git.
Но вы действительно, действительно должны использовать SVN-ветвление и слияние, чтобы сделать все это.