The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск распределенной системы управления исходными текстами Git 2.30, opennews (??), 29-Дек-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


74. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (63), 29-Дек-20, 22:42 
Требования вы сформулировали довольно нечетко, но если я угадал, что вы хотите, то посмотрите недавно добавленные команды git switch и git restore.
Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

85. "Выпуск распределенной системы управления исходными текстами ..."  –2 +/
Сообщение от Lefsha (ok), 29-Дек-20, 23:52 
> Требования вы сформулировали довольно нечетко, но если я угадал, что вы хотите,
> то посмотрите недавно добавленные команды git switch и git restore.

Это скорее Вы сформулировали свои претензии максимально нечетко - мне не нравится,
но я не скажу что именно.

Мне вообще сложно угадать как в абсолютной точности Вы смогли найти неточности.

Вы клонируете репозиторий.
Вносите туда разного рода изменения - любые. Единстенное Вы не трогаете содержимое .git
директория. Это очевидно, так как иначе при удалении содержимого есть только один
способ вернуть содержимое.

Вопрос состоит в том, чтобы все вернуть обратно. Контрольный метод сравнение 2х
репозиториев. Один только что клонированный и другой который мы изменили и попытались вернуть
все обратно.

Хотя бы вот так: diff -qr dir1 dir2 | sort

P.S. Нужно привести точно команду или команды, которые можно засунуть в скрипт и запустить.

P.P.S. Нет. Ответ неверный.

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (63), 30-Дек-20, 04:18 
> Вносите туда разного рода изменения - любые. Единстенное Вы не трогаете содержимое .git

директория.

То есть, не выполняю никакие команды, приводящие к изменению содержимого .git (в том числе staging area)? Это, знаете ли, существенное условие, которое не озвучено.

Чтобы вернуть все обратно, в этом случае таки, да, достаточно сделать git restore.

Ответить | Правка | Наверх | Cообщить модератору

121. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Lefsha (ok), 30-Дек-20, 21:07 
> Чтобы вернуть все обратно, в этом случае таки, да, достаточно сделать git restore.

Уже было сказано, что нет. Это неправильный ответ.

Ответить | Правка | Наверх | Cообщить модератору

176. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (180), 06-Янв-21, 02:54 
> Как сбросить (reset) содержание клонированного репозитория

git reset

> чтобы было как на источнике

git fetch origin && git reset --hard @{upstream}

> или как после выполнения команды: git clone something

git reset $(git reflog --pretty=%H | tail -1)  # возможны нюансы - записи в reflog уже может не быть

> Вопрос состоит в том, чтобы все вернуть обратно.

git reset --hard <commit указывающий на обратно>

> Контрольный метод сравнение 2х репозиториев.
> Один только что клонированный и другой который мы изменили и попытались вернуть все обратно.
> Хотя бы вот так: diff -qr dir1 dir2 | sort

Сравнение репозиториев или определённых веток?

git clone https://github.com/git/git.git repo1
git clone https://github.com/git/git.git repo2
diff -rqN --no-dereference --exclude=.git repo1 repo2

Для сравнения репозиториев убрать --exclude
diff -rqN --no-dereference repo1 repo2

Или свалить все репозитории в один
mkdir git_repo && cd git_repo \
  && git init . && git remote add repo1 https://github.com/git/git.git && git remote add repo2 https://github.com/git/git.git \
  && git fetch --depth=10 repo1 && git fetch --depth=10 repo2

и сравнивать что с чем хочешь
git branch --list --all --format='%(refname)' | while read BRANCH ; do git diff --name-only ${BRANCH}..${BRANCH/repo1/repo2} ; done

> Кто ответит просьба сообщить пользовался ли он/она сторонними
> источниками или взял ответ из головы.

git help <команда git>
man diff

P.S. Построение вопроса похоже на то, что Вы недавно узнали какую-то команду git и теперь пытаетесь выяснить знают ли другие эту команду.
Вам хочется чтоб другие не знали и поэтому вопросы задаёте максимально расплывчатые.

Буквально недавно, один, точно так же меня мучал вопросами "как узнать разницу между файлами" "в git репозитории", "ну не только в git репозитории, но и в другой VCS", "ну вообще без репозитория", "вообще-то не разницу а merge сделать".
Оказалось прочитал про "git merge-file"

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

178. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Lefsha (ok), 06-Янв-21, 10:35 
>> Как сбросить (reset) содержание клонированного репозитория
> git reset

не работает

>> чтобы было как на источнике
> git fetch origin && git reset --hard @{upstream}

не работает


>> или как после выполнения команды: git clone something
> git reset $(git reflog --pretty=%H | tail -1)  # возможны нюансы
> - записи в reflog уже может не быть

не пробовал, но вероятность 99% не работает.

>> Вопрос состоит в том, чтобы все вернуть обратно.
> git reset --hard <commit указывающий на обратно>

не работает


> git clone https://github.com/git/git.git repo1
> git clone https://github.com/git/git.git repo2
> diff -rqN --no-dereference --exclude=.git repo1 repo2

спасибо.


> P.S. Построение вопроса похоже на то, что Вы недавно узнали какую-то команду
> git и теперь пытаетесь выяснить знают ли другие эту команду.
> Вам хочется чтоб другие не знали и поэтому вопросы задаёте максимально расплывчатые.

Нет. Совершенно нет. Прямой вопрос без намеков или капканов.

Ответа в рамках git - нет. По крайней мере я не нашел.

Был предложен ответ через find -delete
После модификации и доведения до ума оно работает. Пока хватает.

Ответить | Правка | Наверх | Cообщить модератору

183. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (180), 06-Янв-21, 14:14 
> Был предложен ответ через find -delete

git clean -ndx ?
ну и как обычно "git help clean"

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру