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

2021-10-13 09:30:54 字數 1195 閱讀 1741

1. git本地版本回退

git reset --hard commit_id(可用 git log –oneline 檢視)

2. git遠端版本回退

git push origin head --force #遠端提交回退

下面的命令也可以實現遠端版本回退

git reset --hard head~1

git push --force

3. git reverse和git reset的區別

git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。

在回滾這一操作上看,效果差不多。但是在日後繼續merge以前的老版本時有區別。因為git revert是用一次逆向的commit「中和」之前的提交,因此日後合併老的branch時,導致這部分改變不會再次出現,但是git reset是之間把某些commit在某個branch上刪除,因而和老的branch再次merge時,這些被回滾的commit應該還會被引入。

git reset 是把head向後移動了一下,而git revert是head繼續前進,只是新的commit的內容和要revert的內容正好相反,能夠抵消要被revert的內容。

git reset + commit號

git reset命令後面是需要加2種引數的:

」–hard」和」–soft」。

這條命令預設情況下是」–soft」。執行上述命令時,這該條commit號之 後(時間作為參考點)的所有commit的修改都會退回到git緩衝區中。

使用git status命令可以在緩衝區中看到這些修改。而如果加上」–hard」引數,則緩衝區中不會儲存這些修改,git會直接丟棄這部分內容。

但需要注意的一 個問題是:由於這樣的重置是直接在本地的修改,無法提交到遠端伺服器,如果直接丟棄的內容已經被推到遠端伺服器上了,則會造成本地和伺服器無法同步的問題。

即git reset –hard只能針對本地操作,不能針對遠端伺服器進行同樣操作。如果從本地刪掉的內容沒有推到伺服器上,則不會有***;如果被推到伺服器,則下次本地和 伺服器進行同步時,這部分刪掉的內容仍然會回來。

而上面注意中提到的問題則可以很好的被git revert 命令解決。

git revert + commit 號

該命令撤銷對某個commit的提交,這一撤銷動作會作為乙個新的修改儲存起來,這樣,當你和伺服器同步時,就不會產生什麼***。

git 本地分支與遠端分支

最近看到了廖雪峰部落格的git教程,內容詳實生動,安利一下。正好也看到了分支的git操作 git 檢視遠端分支 本地分支 建立分支 把分支推到遠端repository 刪除本地分支 分享同時修改了一些排版和備註說明。git branch a br 2.1.2.2 master remotes ori...

git建立本地分支,遠端分支

一 本地分支 建立本地分支,然後切換到dev分支 git checkout b devgit checkout命令加上 b引數表示建立並切換,相當於以下兩條命令 git branch dev git checkout dev然後,用git branch命令檢視當前分支 git branch dev ...

Git本地分支與遠端分支

我們在使用git進行開發的時候經常會遇到需要切換遠端分支並且提交到遠端指定分支的情況,現在記錄下操作步驟。git branch agit branch不帶引數,列出本地已經存在的分支,並且在當前分支的前面用 標記,加上 a引數可以檢視所有分支列表,包括本地和遠端,遠端分支一般會用紅色字型標記出來 g...