форк как организация после того как уже разветвляется в github - PullRequest
15 голосов
/ 26 января 2012

Можно ли снова «разветвляться» в github? Я разветвлял общедоступный репозиторий, но затем я стал владельцем организации, и я бы хотел снова раскошелиться на тот же оригинальный репозиторий (не на мой форк). Однако, похоже, что для того, чтобы выбрать форк как организацию, вы можете сделать это, только нажав кнопку «форк», которая, поскольку я изначально ее разветвил, теперь говорит «ваш форк», чтобы перенести меня к моему форк, но не позволяет мне выбрать «форк как организация».

Ответы [ 4 ]

19 голосов
/ 27 января 2012

Как насчет

  • Удаление вашего личного хранилища (убедитесь, что у вас есть локальный клон / резервная копия), перейдя на https://github.com/:your_login/:repo_identifier/admin, затем нажав УдалитьХранилище кнопка в Опасная зона .

enter image description here

  • Просмотр до вверх по течению На странице репозитория GitHub (https://github.com/:upstream_login/:repo_identifier) теперь должна отображаться кнопка Fork .

  • При нажатии кнопки Fork отобразится диалоговое окно (аналогичнониже) с запросом, готовы ли вы подключиться к вашей личной области или организации области.

    enter image description here

  • Как только это будет сделано, вы можете добавить в свой локальный репозиторий remote , указывающий на вновь разветвленный репозиторий в области вашей организации.

$ git remote add your_organization git@github.com:your_organization/repo_identifier.git

ОБНОВЛЕНИЕ :

Возможно, я нашел (хакерский) способ выполнить ваш запрос

  • Убедитесь, что вы вошли в GitHub
  • Открытооткройте новую вкладку и перейдите на https://github.com/:upstream_login/:repo_identifier/fork_select
  • . Это должно отобразить страницу без CSS-стилевого оформления, предлагающую подключить репозиторий upstream к вашей организации область.
  • Нажмите на кнопку:)

Предупреждение: это полагается на недокументированную функцию GitHub, и этот хак может перестать работать в любое время.Однако после создания форка, даже если хак перестал работать, можно с уверенностью думать, что форк должен остаться.

enter image description here

1 голос
/ 15 ноября 2018

UPDATE

По какой-то причине 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}\"}"
}
1 голос
/ 14 декабря 2015

Вы можете подключиться к организации, используя curl & github API. Приведенный ниже пример превращает рубиновый гем фарадея в организацию your_organization:

 curl https://api.github.com/repos/technoweenie/faraday/forks \
 -d '{"organization": "your_organization"}'

Примечание: вам нужно изменить "your_organization" на фактическое название организации, к которой вы хотите подключиться Вам также может понадобиться пройти аутентификацию для успешного форка.

Формирование инструкций через документацию для разработчиков на github:

https://developer.github.com/changes/2012-11-27-forking-to-organizations/

0 голосов
/ 25 января 2019

Один из способов - использовать инструмент командной строки github, называемый "hub".

Usage: "hub fork [--no-remote] [--org=<ORGANIZATION>]"

...