Можно ли "развить вилку" в github? Я распахнул публичный репозиторий, но потом стал владельцем организации, и я хотел бы снова открыть тот же оригинальный репозиторий (а не вилку). Тем не менее, кажется, что для того, чтобы выбрать fork как организацию, вы можете сделать это, нажав кнопку "fork", которая, потому что я изначально ее разветвлял, эта кнопка теперь говорит "ваша вилка", чтобы отвезти меня к моему оригиналу fork, но не позволяет мне выбирать "fork как организацию".
Вилка как организация после уже разветвления в github
Ответ 1
Как насчет
- Удаление репозитория личного (убедитесь, что у вас есть локальный клон/резервная копия), перейдите в
https://github.com/:your_login/:repo_identifier/admin
, затем нажмите кнопку Удалить репозиторий в зоне опасности.
-
Просмотр в репозитории upstream. На странице GitHub (
https://github.com/:upstream_login/:repo_identifier
) теперь должна отображаться кнопка Вилка. -
Нажав кнопку Вилка, вы увидите диалоговое окно (похожее на приведенное ниже) с просьбой указать, хотите ли вы раскошелиться на свою личную область или ваш организация.
-
Как только это будет сделано, вы можете добавить в локальный репозиторий удаленный, указывающий на новый разветвленный репозиторий в вашей организации.
$ git remote add your_organization [email protected]:your_organization/repo_identifier.git
UPDATE
Возможно, я нашел (хакерский) способ выполнить ваш запрос
- Убедитесь, что вы вошли в GitHub
- Откройте новую вкладку и перейдите к
https://github.com/:upstream_login/:repo_identifier/fork_select
- Это должно отображать страницу без стилизации CSS, предлагающую разветкить репозиторий вверх по течению в вашей организации.
- Нажмите кнопку:)
Предупреждение: это полагается на недокументированную функцию GitHub, и этот хак может перестать работать в любое время. Однако, как только вилка будет создана, даже если хак перестанет работать, безопасно думать, что вилка должна оставаться.
Ответ 2
Вы можете использовать fork для организации, использующей curl и API github. В приведенном ниже примере будет виден жемчуг faraday ruby в организации "your_organization":
curl https://api.github.com/repos/technoweenie/faraday/forks \
-d '{"organization": "your_organization"}'
Примечание. Вам нужно будет изменить "your_organization" на фактическое имя организации, для которой вы хотите использовать fork. Вам также может потребоваться аутентификация для успешной вилки.
Инструкции по вилке с помощью документации разработчика github:
https://developer.github.com/changes/2012-11-27-forking-to-organizations/
Ответ 3
ОБНОВИТЬ
По какой-то причине URL https://api.github.yourdomain
не перенаправляет запросы на последнюю версию API, по крайней мере, в нашем Github Enterprise. Так что ни одна из предыдущих процедур не работает для меня.
Следуя последней документации, вы можете сделать это, используя последнюю версию API v3
на данный момент.
curl -k -u "user":"password" https://github.com/api/v3/repos/USER/REPO/forks -d '{"organization": "YOUR_ORGANIZATION"}'
Я создал небольшую функцию в Bash, чтобы сделать это проще.
использование: git_fork_to_org <repo> <organization>
например, $ git_fork_to_org rgcr/dotfiles my_awesome_organization
git_fork_to_org(){
repo=$1
org=$2
[ $# -ne 2 ] && >&2 printf "usage: git_fork_to_org <repo> <organization>\n" && return 1
printf "github user > "
read -n gh_user
printf "github password > "
read -ns gh_password
printf "${gh_user} > forking ${repo} to ${org}\n"
curl -k -u "${gh_user}":"${gh_password}" \
https://github.com/api/v3/repos/${repo}/forks \
-d "{\"organization\": \"${org}\"}"
}
Ответ 4
Одним из способов является использование инструмента командной строки github, называемого "hub".
Usage: "hub fork [--no-remote] [--org=<ORGANIZATION>]"