С помощью base R
мы получаем basename
и используем sub
для захвата слова перед .
, за которым следуют символы, которые не являются .
до конца ($
) строки и заменить на обратную ссылку (\\1
) захваченной группы
sub(".*_(\\w+)\\.[^.]+$", "\\1", basename(mystring))
#[1] "cat" "master"
Если это фиксированный символ
sub(".*_(\\w+)\\.rds", "\\1", basename(mystring))
Или используя gsub
git push
не толкает все ваши локальные ветки: откуда ему знать, в какие удаленные ветки их толкать? Он толкает только те локальные ветки, которые были настроены на то, чтобы толкать в определенную удаленную ветку.
В моей версии Git'а (1.6.5.3), когда я запускаю git remote show origin
, он действительно выводит, какие ветки настроены на push:
Local refs configured for 'git push':
master pushes to master (up to date)
quux pushes to quux (fast forwardable)
Q. Но я могу сделать push в master
, не беспокоясь обо всем этом!
Когда вы git clone
, по умолчанию он настраивает вашу локальную ветку master
на push в удалённую ветку master
(локально называемую origin/master
), так что если вы делаете коммит только на master
, то простой git push
всегда будет продвигать ваши изменения обратно.
Однако, судя по опубликованному вами фрагменту, вы находитесь на ветке под названием develop
, которая, как я предполагаю, не была настроена на push. Поэтому git push
без аргументов не будет продвигать коммиты в этой ветке.
Когда говорится "Everything up-to-date", это означает "все ветки, которые вы сказали мне, как толкать, актуальны".
Q. Так как я могу продвигать свои коммиты?
Если вы хотите внести изменения из develop
в origin/master
, то вам, вероятно, следует слить их в ваш локальный master
, а затем вытолкнуть его:
git checkout master
git merge develop
git push # will push 'master'
Если вы хотите создать ветку develop
на удалении, отдельную от master
, то введите аргументы в git push
:
git push origin develop
Это позволит: develop
; и приведет эту ветку в соответствие с вашей локальной веткой develop
; и установить develop
для push в origin/develop
, чтобы в будущем git push
без аргументов will push develop
автоматически.
Если вы хотите подтолкнуть вашу локальную ветку develop
к удаленной ветке под названием отличным от develop
, то вы можете сказать:
git push origin develop:something-else
Однако эта форма не настроит develop
на постоянное подталкивание к origin/something-else
в будущем; это одноразовая операция.
Это произошло со мной, после того как я пытался продвинуть от нового ответвления, и я использовал git push origin master
вместо этого. Вы должны также:
git push origin your_new_branch
, если Вы хотите то это ответвление, происходит также в удаленном repo. git merge origin master
. Резюме: точка здесь - то, что необходимо проверить, где Вы предлагаете на 118-секундном параметре для слияния мерзавца. Таким образом, если Вы находитесь в основном ведущем устройстве использования как второй параметр, если Вы находитесь в new_branch употреблении это как второй параметр, если Вы хотите сохранить это ответвление в удаленном repo, еще выбирают вторую опцию выше вместо этого.
Сейчас, похоже, вы находитесь на ветке разработки. Есть ли у вас ветка develop в вашем origin? Если нет, попробуйте git push origin develop
. git push
сработает, когда он узнает о наличии ветки develop в вашем источнике.
В качестве дополнительного чтения, я бы посмотрел на git-push man pages, в частности, раздел примеров.