Как я просто разветвляю / копирую мастер и загружаю эту ветку в GitHub?

Я должен упустить что-то действительно очевидное, но я изо всех сил пытаюсь это сделать.

Я хочу скопировать «master» repo на свой локальный компьютер и создать собственную ветку «копия-мастер», а затем загрузить ее в GitHub (без изменений).

Я хочу видеть на GitHub эту новую ветку «копия-мастер», которая будет такой же, как у мастера, и никто не будет использовать ее, поэтому я могу просто добавлять изменения, не касаясь мастера.

Кто-то еще позаботится о том, чтобы потом слить это в «хозяина».

Чтобы добавить путаницу, я использовал комбинацию PhpStorm и Git в командной строке.

Вот что я сделал, и почему я не понимаю, что делает PhpStorm:

  1. git checkout master
  2. Добавлена ​​новая ветка в PhpStorm (от мастера, которого я предполагаю). Он показал мою текущую ветку как хозяин в правом нижнем углу.
  3. 'git status' теперь показывает, что я нахожусь в моей ветке «копия мастера».

Теперь, конечно, я просто «толкаю» на репо, и там должна быть моя ветка.

Проблема в том, что я пробовал это в PhpStorm, и это связано с этим:

нет отслеживаемой ветви. Установите флажок ниже, чтобы нажать ветвь, чтобы вручную указать, показывая 5 последних коммитов

Затем он показывает 5 случайных коммитов, которые были сделаны много раз.

Кроме того, внизу отображается опция «Вставить текущую ветвь в альтернативную ветвь», но альтернативная ветка – это ветка, в которой я уже в любом случае (??).

Я раньше использовал PhpStorm Push, и это всегда автоматически сворачивало мою работу в основную ветку. На этот раз я не хочу ничего путать.

Никто еще не работает над репо.

Я никогда раньше не использовал PhpStorm, но предполагая, что он может обнаруживать изменения git, которые вы делаете из командной строки (например, создавать новые локальные и удаленные ветви), тогда вы можете делать все, что хотите, исключительно с помощью git из командная строка:

git checkout -b copy-of-master git push -u origin HEAD 

Это создаст локальную ветвь- copy-of-master основе master и настроит ее на автоматическую отслеживание ее удаленной версии- origin/copy-of-master .

Документация

  • checkout -b : «Задание -b вызывает создание новой ветви, как если бы вызывали git-branch (1), а затем выгружали».

  • push [-u|--set-upstream] : «Для каждой ветви, которая обновлена ​​или успешно нажата, добавьте ссылку вверх (отслеживание), используемую без аргументов git-pull (1) и другие команды. , см. branch.<name>.merge в git-config (1) . "