Похоже, что мое текущее репо git было сломано, потому что я не мог правильно извлечь sh или извлечь / извлечь (они не работают или работают очень медленно). Я запустил git clone --depth 1
репо в другую папку и увидел, что новый быстро, поэтому я скопировал новое репо в старое, переписав все, включая .git
папку
После этого репо работает нормально, Я могу вытащить и pu sh, что я работаю. Но я больше не вижу много удаленных коммитов и веток. Я побежал git fetch --unshallow
, чтобы получить все истории, но это не помогает. Раньше git branch -a
давал мне тысячи удаленных веток, но их не больше десятков. Кроме того, если в текущей ветке есть удаленные коммиты, я не смог бы получить их, независимо от того, сколько раз я запускаю git fetch --all
или git pull
, даже несмотря на то, что запрос на самом деле перенаправлен
my_local_HEAD remote_HEAD
| |
↓ ↓
my_branch ---------> abcde-----------> bcdef
Проверка идентификатор фиксации явно тоже не помогает. Если я запускаю git branch -D my_branch
для локального удаления ветки, то git fetch
, git checkout my_branch
или git checkout origin/my_branch
снова, тогда ветка теряется навсегда
Может кто-нибудь сказать мне, как это исправить?