Проблема связана с межрегиональной. Ваш регион по умолчанию в AWS-CLI может отличаться от региона, в котором вы находитесь. Служба SNS.
Проверьте местоположение AWS-CLI и убедитесь, что вы находитесь в том же регионе, что и ваш SNS.
Чтобы проверить свой регион в AWS CLI, используйте:
aws configure get region
Для настройки региона AWS вы можете использовать команду:
aws configure set region
https://docs.aws.amazon.com/cli/latest/reference/configure/set.html
Создание новой абсолютно пустой фиксации без побочных эффектов, вероятно, лучше всего сделан при помощи Git’s, устанавливающего вертикально непосредственно. При выполнении его тот путь избегает любых побочных эффектов: никакое касание рабочей копии или индекса, никакие временные ответвления для чистки, и т.д. Так:
Для создания фиксации нам нужно дерево каталогов для него, таким образом, мы создаем пустой сначала:
tree=`git hash-object -wt tree --stdin < /dev/null`
Теперь мы можем обернуть фиксацию вокруг этого:
commit=`git commit-tree -m 'root commit' $tree`
И теперь мы можем повторно базироваться на это:
git rebase --onto $commit --root master
И that’s это. Можно перестроить ту целую вещь в остроту, если Вы знаете свою оболочку достаточно хорошо.
(N.B.: на практике I’d теперь используют filter-branch
. Отредактирует это в позже.)
Here’s более чистая реализация того же решения, в котором это работает без потребности создать дополнительный репозиторий, futz вокруг с пультами ДУ, и исправить отдельную голову:
# first you need a new empty branch; let's call it `newroot`
git checkout --orphan newroot
git rm -rf .
# then you apply the same steps
git commit --allow-empty -m 'root commit'
git rebase --onto newroot --root master
git branch -d newroot
Вуаля, you’ve закончился на master
с его историей, переписанной для включения пустой корневой фиксации.
нбар.: на старых версиях Мерзавца, которым недостает эти --orphan
переключатель к checkout
, Вам нужна инфраструктура для создания пустого ответвления:
git symbolic-ref HEAD refs/heads/newroot
git rm --cached -r .
git clean -f -d
Ну, вот то, что я придумал:
# Just setting variables on top for clarity.
# Set this to the path to your original repository.
ORIGINAL_REPO=/path/to/original/repository
# Create a new repository…
mkdir fun
cd fun
git init
# …and add an initial empty commit to it
git commit --allow-empty -m "The first evil."
# Add the original repository as a remote
git remote add previous $ORIGINAL_REPO
git fetch previous
# Get the hash for the first commit in the original repository
FIRST=`git log previous/master --pretty=format:%H --reverse | head -1`
# Cherry-pick it
git cherry-pick $FIRST
# Then rebase the remainder of the original branch on top of the newly
# cherry-picked, previously first commit, which is happily the second
# on this branch, right after the empty one.
git rebase --onto master master previous/master
# rebase --onto leaves your head detached, I don't really know why)
# So now you overwrite your master branch with the newly rebased tree.
# You're now kinda done.
git branch -f master
git checkout master
# But do clean up: remove the remote, you don't need it anymore
git remote rm previous
Запустите новый репозиторий.
Задержите свою дату к дате начала, которую Вы хотите.
Сделайте все способ, которым Вам жаль, что Вы не сделали его, корректируя системное время для отражения, когда Вам было жаль, что Вы не сделали его тот путь. Вытяните файлы из существующего репозитория по мере необходимости для предотвращения большого бесполезного ввода.
Когда Вы добираетесь до сегодня, подкачиваете репозитории, и Вы сделаны.
Если Вы просто сумасшедшие (установленный), но довольно интеллектуальный (вероятно, потому что у Вас должно быть определенное количество ума для продумывания сумасшедших идей как это) Вы напишете сценарий процесса.
Это также сделает это более хорошим, когда Вы решите, что хотите, чтобы прошлое произошло некоторый другой путь неделя с этого времени.
Объединение последнего и самого большого. Никакие побочные эффекты, никакие конфликты, сохраняя теги.
git log --reverse
tree=`git hash-object -wt tree --stdin < /dev/null`
commit=`git commit-tree -m 'Initialize empty repository' $tree`
echo $commit # copy below, interpolation didn't work for me
git filter-branch --parent-filter 'sed "s/^\$/-p <commit>/"' --tag-name-filter cat master
git log --reverse
Примечание, что на GitHub Вы потеряете CI выполненные данные и PR, могло бы быть испорчено, если другие ответвления не фиксируются также.