本地git版本覆蓋遠端的方法

2021-09-02 02:51:52 字數 1109 閱讀 2824

起因:現場開發和公司內部開發相結合,一段時間雙方未同步,但可以肯定現場的**最新,所以回公司後就拿本機**覆蓋遠端倉庫**。

步驟如下:

首先,我遠端倉庫的config檔案裡設定過如下內容(預設新建的git倉庫是不允許被修改的,所以這裡放開修改許可權):

[receive]   

denycurrentbranch = ignore

其次,執行如下命令,用本地檔案直接覆蓋遠端倉庫:

原文如下:

有時候由於某些誤操作(如錯誤的將其他分支merge過來),導致遠端分支錯誤,需要強制覆蓋遠端分支。可以使用命令git push origin branch-name --force來強制覆蓋。

不過,基於安全性考慮,你的遠端 git 可以禁止改操作,你可以通過修改遠端倉庫的config檔案來臨時允許覆蓋操作:

[receive]

denynonfastforwards

=false # change to false to enable overwriting

覆蓋完成之後,記得把這個標誌再改回true,以提高倉庫的安全性,避免錯誤的覆蓋操作。

注意如果遠端的**倉庫為多個人共享訪問時,其他人的push操作可能會再次將錯誤的merge引入遠端分支(因為其他人本地存放的分支仍然是舊的)。除非事先和所有的成員溝通好,讓大家將本地的錯誤分支刪除,否則這種方式不可取

因此,如果是團隊開發,最好是使用revert命令來回滾,而不是覆蓋。這樣雖然歷史記錄不太乾淨,但是比較安全。回滾乙個merge的命令如下:

git

revert

merge

-commit

-hash-m

1

git本地ben遠端分支 git本地及遠端分支回退

1.git本地版本回退 git reset hard commit id 可用 git log oneline 檢視 2.git遠端版本回退 git push origin head force 遠端提交回退 下面的命令也可以實現遠端版本回退 git reset hard head 1 git pu...

git本地版本回滾與遠端版本回滾

1 檢視git 提交 git log 該命令顯示從最近到最遠的提交日誌。hard選項,表示徹底將工作區 暫存區和版本庫記錄恢復到指定的版本庫 遠端分支版本回退的方法 1.首先要回退本地分支 git reset hard commitid 2 強制推送到遠端分支 git push f origin m...

git推送本地分支到遠端的方法

1.遠端有分支,直接將分支拉到本地 進行開發 2.本地開啟乙個新的分支,推送至遠端 git checkout b branchname origin branchname 撿出遠端的branchname分支到本地.第乙個branchname是你新建本地分支的名字,origin branchname ...