iT邦幫忙

0

誰刪了遠端的分支

請問一下,團隊合作中,如果發現其中一支遠端分支被刪除了,該如何知道是誰刪掉的?又該如何復原?

簡單的好問題
追蹤等正解
powerc iT邦新手 1 級 ‧ 2021-11-26 09:20:59 檢舉
https://stackoverflow.com/questions/3640764/can-i-recover-a-branch-after-its-deletion-in-git
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2021-11-26 11:02:21
最佳解答

正常來說,如果只是單純的刪除分支。
都還可以從記錄裏找到重建回來。

怕的是。是真正的完整刪除。連記錄都一起被刪的。
那還真的會哭就是了。(雖然還是可以從某一個GIT的資料中,重新再建立起來)

查看的方式 powerc 提供的就很完整。
(本來正在打指令給你的,但發現我的GIT正在鬼打牆,可能是權限沒設好的關係)

所以我這邊的GIT,還是會限制一些主要分支是不可被刪的。
能被刪的都是額外分支就是了。

線上的分支也不要太多。在團隊合作上,分支太多會是一個麻煩性。
最多就5個就行了。

自已用的GIT要幾個分支都隨意。反正只是自已在看。
但不要讓團隊每次都要看10幾個分支在上面。看的霧煞煞的。

(不過,我知道有些團隊是用版本號或是多功能性切分支,這又是另外一回事就是了)

janlin002 iT邦好手 1 級 ‧ 2021-11-26 14:26:25 檢舉

謝謝你的回答,那請問有辦法知道是誰刪的嗎?

git log -g

可以去查看 relog 的進度。
內容大約是

commit 22c060bc09f6......ff4fda6e05f7c9b84b
Reflog: HEAD@{0} (testuser <test@gmail.com>)
Reflog message: checkout: moving from master to 測試分支刪除

不過如果沒看到的話。那可能是直接head處理。連記錄都不存在。
這樣子就沒辦法查了。

janlin002 iT邦好手 1 級 ‧ 2021-11-26 15:52:11 檢舉

謝謝,已找到了

我要發表回答

立即登入回答