在git操作時,由於各種原因,難免會有一些想後悔的時候,這時就必須要根據情況組合使用一些git的命令。
目前我掌握的命令不多,但是足夠應對一些簡單的情況,較常使用的命令如下:
git log 檢視當前分支的提交記錄,根據commit的相應編號來進行之後的操作,比如版本回退等。
git log origin/master 檢視遠端倉庫origin的master分支的提交記錄,不過在使用中發現,這個命令並不是時刻與遠端保持同步的,獲取的結果似乎是上一次fetch下來時遠端分支的狀態。
git reset --hard comit編號 這個命令可以實現版本回退功能,--hard引數的作用是將工作區中的源**也恢復到目標時刻提交後的狀態,但是會清空該次commit之前的log資訊。
git reflog 這個命令很重要,即使git log資訊丟失了,每次操作的資訊依然還會在reflog中看到,這樣我們就可以利用git reset --hard 操作編號 命令再次恢復到指定的狀態,自然也可以回到上次reset之前!
但是如果我們已經把糟糕的**提交到了遠端分支怎麼辦?遠端分支是無法直接git reset的,雖然你依然可以把遠端分支fetch下來後回退,但是還有更好的辦法:
git revert commit編號 這條命令可以自動生成一次新的commit,這次commit會達到撤銷指定commit操作所提交的修改的效果,尤其適合剛剛push錯誤**後使用,直接git revert head即可,然後push到遠端分支,即可「中和」掉上一次的錯誤提交,但是如果你rervert的commit是在更早的時候,那就有可能和現有的**發生衝突,這種情況就只能解決衝突後再次提交了。
DHTML之CSS學習心得 2
7.類中可以指定的內容 bigtext font family arial black,vardana,sans serif font weight bold font style italic font size 40pt color red a font family 字型型別,從左到右優先順序...
尉智輝 GIT操作與學習心得
過程 git與github的優勢在於可以很方便在不同的計算機上 或由不同的人 對同乙份 進行管理。想要了解它的這一優點,可以模擬一下使用不同計算機的場景 我在實驗室中提交了乙個倉庫叫hellogit,可是這時我又想專門建立乙個倉庫用於存放我自己總結的git使用流程的倉庫,於是在github上建立乙個...
設計模式之抽象工廠模式的學習心得
對於抽象工廠模式,我們首先要明白的是 其是建立在工廠模式基礎之上的,其也屬於建立型設計模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯示指定它們的類,每個生成的工廠都能按照工廠模式提供物件。理解 建立抽象工廠類來獲取工廠物件,建立繼承抽象類的工廠類,生成實體類物件以及建立乙個工廠創...