Как сделать видимую вилку github без истории коммитов? - PullRequest
0 голосов
/ 12 марта 2019

Допустим, вы хотите клонировать старый (GitHub) репозиторий A в свой собственный репозиторий B .Тем не менее, вам не нужны никакие ветви и вы не хотите очень длинной истории коммитов.Вам нужен клон shallow в виде снимка самого текущего состояния репо.Желательно только с последними коммит-сообщениями, хотя и показывает, с какого момента в A он был разветвлен.Это графически показано на вкладке GitHubs Insights > Network, когда стрелки переходят от одного пользователя к репо.

Проблема заключается в том, что из тех решений, которые я до сих пор пытался, все в итоге создают разрыв в графе GitHub Network.Вероятно, это связано с тем, что все они основаны на удалении / восстановлении .git или force push, что, по-видимому, приводит к тому, что пользовательский интерфейс GitHub отключает клон / вилку, и вместо этого он выглядит так:

enter image description here

Я не уверен, как лучше сформулировать этот вопрос, поскольку уже есть несколько десятков, которые звучат очень похоже, если не совпадают, хотя ни один из них, кажется, неРешите эту проблему, если это возможно.

Итак, вопрос:

Как сохранить зависимость от вилок в графе GitHubs Network, при этом по-прежнему удаляя большую частьистория коммитов?

(я понимаю, что не могу удалить всю историю и все еще имею что-то , подключенное к графику, но не должноможно раздавить вилку таким образом, чтобы все коммиты в A были превращены в один сдавленный коммит (как видно из форка), тогда как все новые в B нормальные?)


Я смотрел на этиНо они не очень помогли:

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Эти строки генерируются непосредственно из истории git.Если история форка (или фиксаций) отсутствует, строк не будет.

Короче говоря, если вам нужна строка, вам нужно форк.

0 голосов
/ 18 марта 2019

Я думаю, что правильный ответ таков:

  • Если вы измените pre-fork историю вашего собственного форка (Repo-B) Repo-A в в любом случае , график Insights > Network обломится от вилки.
  • Ваша GitHub вилка все еще будет показывать, что она была разветвлена ​​с Repo-A.
  • Если вы не хотите работать с вилкой с такой длинной историей, либо:
    1. Создайте новую ветку с историей сквош ,
    2. Создайте форк, используя GitHubs UI и затем squash history (или замените содержимое на shallow clone.)
...