Использование 2 из приведенных выше ответов ( Как клонировать git-репозиторий с определенной ревизией / changeset? и Как клонировать git-репозиторий с конкретной ревизией / changeset? ) Помог мне прийтис определителем.Если вы хотите клонировать до некоторой точки, то эта точка должна быть тегом / ветвью, а не просто SHA или FETCH_HEAD запутывается.Следуя набору git fetch, если вы используете имя ветви или тега, вы получите ответ, а если вы просто используете SHA-1, вы получите не ответ.
Вот что я сделал: - создаю полный рабочий клон полногорепо из фактического источника
cd <path to create repo>
git clone git@<our gitlab server>:ui-developers/ui.git
Затем создайте локальную ветвь в интересной точке
git checkout 2050c8829c67f04b0db81e6247bb589c950afb14
git checkout -b origin_point
Затем создайте мое новое пустое репо с моей локальной копией в качестве источника
cd <path to create repo>
mkdir reduced-repo
cd reduced-repo
git init
git remote add local_copy <path to create repo>/ui
git fetch local_copy origin_point
В этот момент я получил этот ответ.Я отмечаю это, потому что если вы используете SHA-1 вместо ветки выше, ничего не происходит, поэтому ответ означает, что он работал
/var/www/html/ui-hacking$ git fetch local_copy origin_point
remote: Counting objects: 45493, done.
remote: Compressing objects: 100% (15928/15928), done.
remote: Total 45493 (delta 27508), reused 45387 (delta 27463)
Receiving objects: 100% (45493/45493), 53.64 MiB | 50.59 MiB/s, done.
Resolving deltas: 100% (27508/27508), done.
From /var/www/html/ui
* branch origin_point -> FETCH_HEAD
* [new branch] origin_point -> origin/origin_point
Теперь в моем случае мне нужно было вернуть это обратно наgitlab, как свежее репо, так что я сделал
git remote add origin git@<our gitlab server>:ui-developers/new-ui.git
Это означало, что я мог перестроить свое репо с origin_point, используя git --git-dir=../ui/.git format-patch -k -1 --stdout <sha1> | git am -3 -k
, чтобы выбрать вишню удаленно, затем использовать git push origin
, чтобы загрузить весь лот обратно в егоновый дом.
Надеюсь, что кому-то поможет