Для второго ответа вы можете использовать gsub
, чтобы удалить из строки все, что не является числом, а затем разбить строку следующим образом:
unique(as.numeric(unlist(strsplit(gsub("[^0-9]", "", unlist(ll)), ""))))
# [1] 7 6 1 5 2
Для первого ответа, аналогично используя strsplit
,
unique(na.omit(as.numeric(unlist(strsplit(unlist(ll), "[^0-9]+")))))
# [1] 7 667 11 5 2
PS: не называйте вашу переменную list
(так как есть встроенная функция list
). Я назвал ваши данные как ll
.
Нет необходимости прикасаться к вашей локальной главной ветке, если вам не нужно ее обновлять, и это, кажется, вызывает много ненужных переключений ветвей.
Это дополнительная минимальный рабочий процесс.
git fetch
# ensure that everything is committed
# perhaps git commit -a is required...
git rebase origin/master
# If you don't want to push the very latest commits you might
# want to checkout a parent or ancestor of the current commit
# to test that the proposed commit passes tests, etc.
# e.g. git checkout HEAD~n
# push to the remote master
git push origin HEAD:master
# if you checked out a parent, go back to the original branch
git checkout mybranch
Если вы абсолютно уверены в родительской фиксации, вы можете пропустить этапы проверки и просто сделать следующее, но я настоятельно не рекомендую этого делать. Публикация непроверенных коммитов - не лучшая практика.
git push origin HEAD^:master
Нет необходимости выполнять тягу одновременно с главной и моей ветвью. Поскольку вы такой хороший гражданин и делаете быстрые обновления, это довольно просто:
# Save local mods not ready for commit
git stash
# Do the pull & rebase local work assuming this is a remote tracking branch
git pull --rebase
git checkout master
git merge mybranch
git push
Конечно, вы также можете нажать из своей ветки mybranch
# Save local mods not ready for commit
git stash
# Do the pull & rebase local work assuming this is a remote tracking branch
git pull --rebase
git push origin mybranch:master
Вы можете объединить pull и rebase в одну:
git pull --rebase master
Но в целом да, по моему опыту, он включает в себя все эти команды.
Чтобы держите репозиторий в чистоте, полезно часто запускать "git gc", который удалит неиспользуемые объекты. Это должно сократить время переключения ответвлений.
Я обычно так и делаю.
git co master
git pull
git rebase master mywrk # fix conflicts if any
git rebase mywrk master
git push
Вы можете определить псевдонимы, чтобы не печатать, если хотите.