第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Git:恢復已刪除(遠程)分支

Git:恢復已刪除(遠程)分支

Git
慕的地6264312 2019-10-08 14:48:28
我需要恢復在推送期間以某種方式刪除的兩個Git分支。這兩個分支是在不同的系統(tǒng)上創(chuàng)建的,然后被推送到我的“共享”(github)存儲庫中。在我的系統(tǒng)上,我(顯然)在獲取期間檢索了分支:~/myfolder> git fetchremote: Counting objects: 105, done.remote: Compressing objects: 100% (58/58), done.remote: Total 62 (delta 29), reused 0 (delta 0)Unpacking objects: 100% (62/62), done.From github.com:mygiturl * [new branch]      contact_page -> origin/contact_page   731d1bb..e8b68cc  homepage   -> origin/homepage * [new branch]      new_pictures -> origin/new_pictures之后,我立即將本地更改發(fā)送到中央存儲庫。由于某些原因,這些分支已從我的本地系統(tǒng)和中央存儲庫中刪除:~/myfolder> git pushCounting objects: 71, done.Delta compression using up to 2 threads.Compressing objects: 100% (43/43), done.Writing objects: 100% (49/49), 4.99 KiB, done.Total 49 (delta 33), reused 0 (delta 0)To git@github.com:mygiturl.git - [deleted]         contact_page + e8b68cc...731d1bb homepage -> homepage (forced update)   bb7e9f2..e0d061c  master -> master - [deleted]         new_pictures   e38ac2e..bb7e9f2  origin/HEAD -> origin/HEAD   731d1bb..e8b68cc  origin/homepage -> origin/homepage   e38ac2e..bb7e9f2  origin/master -> origin/master * [new branch]      origin/contact_page -> origin/contact_page * [new branch]      origin/new_pictures -> origin/new_pictures從分支機構的機器上卸下分支并不是一件容易的事,因此,我想嘗試從本地恢復這些分支。我搜索過的所有git“撤消”信息都與恢復丟失的提交有關。我認為這并不適用,因為我沒有這些分支的提交UID。我想知道如何找回這些。我還想知道如何首先刪除它們,以及將來如何避免這種情況。編輯:根據要求,這是我的回購配置user.name=Craig Walkeruser.email=github@softcraft.caalias.unadd=reset HEADcore.repositoryformatversion=0core.filemode=truecore.bare=falsecore.logallrefupdates=truecore.ignorecase=trueremote.origin.fetch=+refs/heads/*:refs/remotes/origin/*remote.origin.url=git@github.com:MyGitURL.gitremote.origin.mirror=truebranch.master.remote=originbranch.master.merge=refs/heads/masteralias.undo=reset --hardalias.test=push -f ci HEAD:masteralias.st=statusalias.ci=commitalias.br=branchalias.co=checkoutalias.ch=checkoutalias.df=diffalias.lg=log -palias.who=shortlog -s --
查看完整描述

4 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

我不是專家。但是你可以嘗試


git fsck --full --no-reflogs | grep commit

查找已刪除分支的HEAD提交并將其取回。


查看完整回答
反對 回復 2019-10-08
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

僅有兩個命令可以挽救我的生命


1.這將列出所有先前的HEAD


git reflog

2.這將還原HEAD以提交您刪除的內容。


git reset --hard <your deleted commit>

ex. git reset --hard b4b2c02


查看完整回答
反對 回復 2019-10-08
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

您刪除的分支不會丟失,它們會通過您顯示的獲取操作復制到origin / contact_page和origin / new_pictures的 “遠程跟蹤分支”中(它們也通過您顯示的推送而被撤回,但它們已被推送到ref / remotes / origin /而不是refs / heads /)。檢查git log origin/contact_page并git log origin/new_pictures查看您的本地副本是否“最新”,以及您認為應該存在的內容。如果在您顯示的獲取和推送之間有任何新的提交(從其他回購)推送到那些分支上,則可能“丟失”了那些(但您可能會在最近推送這些分支的另一個回購中找到它們) 。


提取/推送沖突

看來您是以正常的“遠程模式”獲?。ㄟh程ref / heads /本地存儲在refs / remotes / origin /中),但是以“鏡像模式”推送(本地ref /被推送到遠程ref /) 。檢查您的.git / config并協(xié)調remote.origin.fetch和remote.origin.push設置。


進行備份

在嘗試任何更改之前,請做一個簡單的tar或zip歸檔文件或整個本地存儲庫。這樣,如果您不喜歡發(fā)生的情況,則可以從已還原的存儲庫中重試。


選項A:重新配置為鏡像

如果打算將遠程存儲庫用作本地存儲庫的鏡像,請執(zhí)行以下操作:


git branch contact_page origin/contact_page &&

git branch new_pictures origin/new_pictures &&

git config remote.origin.fetch '+refs/*:refs/*' &&

git config --unset remote.origin.push &&

git config remote.origin.mirror true

您最終可能還希望刪除所有的ref / remotes / origin / refs,因為如果您在鏡像模式下運行,它們將無用(您的普通分支代替了通常的遠程跟蹤分支)。


選項B:重新配置為普通遙控器

但是,由于您似乎正在將這個遠程存儲庫與多個“工作”存儲庫一起使用,因此您可能不想使用鏡像模式。您可以嘗試以下方法:


git config push.default tracking &&

git config --unset remote.origin.push

git config --unset remote.origin.mirror

然后,您最終將要刪除遠程回購中的偽造的refs / remotes / origin refs git push origin :refs/remotes/origin/contact_page :refs/remotes/origin/new_pictures …。


測試推送

嘗試git push --dry-run看看它git push會做什么,而無需在遠程倉庫上進行任何更改。如果您不喜歡它說的那樣,請從備份(tar / zip)中恢復并嘗試其他選擇。


查看完整回答
反對 回復 2019-10-08
  • 4 回答
  • 0 關注
  • 5342 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號