The typical Apache 2 license notice contains a link to the full terms, therefore including the full terms of the license in the repository is not necessary. So your license likely was in effect right from the start. If there had been no license, no one else would have been allowed to change the code.
One of the rights you give away via the Apache 2 license is that other people may use your code in other software, without having to publish that software under the same license. They still have to follow your license terms, e.g. to keep any license notices intact. E.g. the GPLv2 license terms make it impossible to simultaneously honour the Apache 2 license, but the GPLv3 license is compatible.
This gives the following possible scenarios:
- If you did not provide an effective license, the other person committed copyright infringement.
- If they removed or changed your legal notices (such as copyright notices) they committed copyfraud (a kind of copyright infringement) and violated the terms of the Apache 2 license.
- If they issued a new license without having made any changes to the code, that is a grey area: they are not a copyright holder and therefore have no right to issue a license, even if your software could also be used under the terms of the new license.
- If they chose an incompatible license such as GPLv2 they have violated the Apache 2 license.
- If they chose a compatible license such as GPLv3, they have merely exercised the rights you gave them. This is still an unusual move.
If they infringed your copyright e.g. by violating the Apache 2 license, you should contact them and ask them to rectify the issue, e.g. via a GitHub issue or by sending them an email (clone their repository to your computer to find committer emails in the git log). If they do not comply you can consider issuing a takedown request to GitHub, but I'd try all other alternatives first.
If they changed the license in exercise of their rights, you can still ask them whether they wouldn't like to keep the upstream license that you provided. This would have the advantage that their changes could be included in your upstream project. However, you have no way to force them to stick to your license.