... Короче:
string[] arr = "This is a sentence".Split(new string[] { "is" }, StringSplitOptions.None);
Имейте Вас попробованный: git rebase -i master
?
Используйте gitk (*nix), или gitx (OS X) или подобный на других платформах, и взгляните, в котором фиксация была корнем Вашего ответвления. Тогда выполненный:
git rebase -i <the SHA hash of the root commit>
, Например, у меня есть репозиторий, что я осмотрел использование gitx:
Теперь, когда я знаю корневой хеш, я могу выполнить это:
git rebase -i 38965ed29d89a4136e47b688ca10b522b6bc335f
И мой редактор открывается с этим, и я могу rearrange/squash/whatever, как мне нравится.
pick 50b2cff File 1 changes.
pick 345df08 File 2 changes.
pick 9894931 File 3 changes.
pick 9a62b92 File 4 changes.
pick 640b1f8 File 5 changes.
pick 1c437f7 File 6 changes.
pick b014597 File 7 changes.
pick b1f52bc File 8 changes.
pick 40ae0fc File 9 changes.
# Rebase 38965ed..40ae0fc onto 38965ed
#
# Commands:
# pick = use commit
# edit = use commit, but stop for amending
# squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
я уверен, что существует некоторый волшебный способ убедить мерзавца выяснять корень дерева автоматически, но я не знаю, каково это.
РЕДАКТИРОВАНИЕ: То волшебство - это:
git log master..other_feature | cat
, Который покажет Вам, все фиксации на том ответвлении, и передающий по каналу кошке отключат пейджер, таким образом, Вы будете сразу видеть первую фиксацию.
РЕДАКТИРОВАНИЕ: объединение вышеупомянутого дает полностью автоматическое решение:
git rebase -i `git log master..other_feature --pretty=format:"%h" | tail -n 1`~