Hello,
I have a website on netlify (https://ari-web.netlify.app/ ) with a
custom domain (https://ari-web.xyz/ ), I want to link a github repo
to a route (for example GitHub - TruncatedDinosour/website: Ari-web source code (previously ari['s] web[site]) ), I already achieved this
in the browser, it works fine and redirects to GitHub - TruncatedDinosour/website: Ari-web source code (previously ari['s] web[site]) but I would like it to be git-clonable, but it is not and anything
I found on it did not work (for example HTTP/302 redirect):
ari@ari-gentoo ~ % git clone https://ari-web.xyz/git
Cloning into 'git'...
fatal: repository 'https://ari-web.xyz/git/' not found
I have access to DNS and can add custom redirects and all that stuff,
just whatever netlify allows, you can see the /git route in website/netlify.toml at terminal · TruncatedDinosour/website · GitHub
[[redirects]]
from = "/git"
to = "https://github.com/TruncatedDinosour/website"
status = 301
force = true
I found related stuff:
But they did not help
Is it even possible?
coelmay
February 20, 2022, 12:20am
2
Hi @B00bleaTea
B00bleaTea:
Is it even possible?
I would never have considered doing this, but it is.
I used _redirects
(instead of netlify.toml
)
/git/* https://github.com/username/repository/:splat
I was then able to clone the repository locally.
So using the netlify.toml
you would have
[[redirects]]
from = "/git/*"
to = "https://github.com/TruncatedDinosour/website/:splat"
status = 301
# Not sure if force is really necessary
force = true
The reason is that GitHub does a redirect too i.e.
https://<your-site-name>/<redirect-name>/info/refs?service=git-upload-pack
so in order for the clone to work, you need to use a :splat
to pass through the appended path.
The repository redirect blog post you linked to applies to internal redirects that GitHub does when a repository is renamed. The Stack Overflow thread, while seemingly related is related to git-server which doesn’t apply here.
2 Likes
It worked!
for example
ari@ari-gentoo tmp % git clone https://ari-web.xyz/gh/rys
Cloning into 'rys'...
warning: redirecting to https://github.com/TruncatedDinosour/rys/
remote: Enumerating objects: 115, done.
remote: Counting objects: 100% (115/115), done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 115 (delta 38), reused 105 (delta 28), pack-reused 0
Receiving objects: 100% (115/115), 27.79 KiB | 3.47 MiB/s, done.
Resolving deltas: 100% (38/38), done.
Thanks a lot