我們都會犯錯誤,尤其是在使用像git這樣複雜的東西時。如果你是git的新手,可以學習如何在命令列上開始使用git。下面介紹如何解決六個最常見的git錯誤。
經過幾個小時的編碼後,拼寫錯誤很容易帶到你的提交訊息裡面。 幸運的是,有乙個簡單的解決方案。
git commit --amend
這會開啟編輯器,並允許你更改最後一次提交訊息。 沒有人知道你把「addded」單詞多加了乙個字母「d」的拼寫錯誤。
另乙個常見的git陷阱是過早提交。 你少新增了乙個檔案,忘了儲存它,或者需要對最後一次提交做乙個小改動才有意義。--amend
再次成為你的朋友。
新增錯過的檔案然後執行該命令。
git add missed-file.txt
git commit --amend
此時,可以修改提交訊息,也可以只儲存它以使其保持不變。
但如果你的做法的正好相反呢?如果新增了不想提交的檔案怎麼辦?乙個環境檔案,乙個構建目錄,或者是一張不小心儲存到錯誤的目錄?這都是可以解決的。
如果你所做的只是對檔案進行了stage操作放入了暫存區,還沒有commit本地**倉庫,那麼只需重新設定暫存區的檔案即可:
如果已經提交了更改,那麼需要先執行乙個額外的步驟:
這將撤銷提交,刪除檔案,然後在其位置新增乙個新的提交。
你正在開發乙個新特性,在匆忙之中,忘記為它開啟乙個新的分支。已經提交了一堆檔案,現在它們都位於主分支(master)上。幸運的是,gitlab可以防止你直接推到master 主分支上。因此,我們可以使用以下三個命令將所有這些更改回滾到乙個新分支:
note確保首先commit或stash更改,否則所有更改都將丟失!
git branch future-brunch
git reset head~ --hard
git checkout future-brunch
這會建立乙個新分支,然後將主分支回滾到進行更改之前的位置,然後最終檢出新分支,並保留所有先前的更改。
對錯誤分支進行重新命名的方式與用mv
命令重新命名檔案的方式類似:將它移動到乙個新的位置,並使用正確的名稱。例如把future-brunch分支名稱更改為feature-branch。
git branch -m future-brunch feature-branch
如果已經push了這個分支到遠端**倉庫,那麼還需要一些額外的步驟。需要從遠端**倉庫刪除舊的分支,將新分支 push 上去:
git push origin --delete future-brunch
git push origin feature-branch
這個命令適用於一切都出錯的地方。 當從stack overflow複製貼上乙個太多的解決方案時,
**倉庫處於比你一開始時更糟糕的狀態。
git reflog
向你顯示所有的事情列表。然後,它允許你使用git的神奇時間旅行技巧,回退到過去的任何時間點。這裡應該指出,這是最後的手段,不應該輕易使用。要得到這個列表,輸入:
git reflog
我們採取的每一步,我們所做的每乙個動作,git都有記錄。 在我們的專案上執行該命令得到以下列表:
3ff8691 (head -> feature-branch) head@: branch: renamed refs/heads/future-brunch to refs/heads/feature-branch
3ff8691 (head -> feature-branch) head@: checkout: moving from master to future-brunch
2b7e508 (master) head@: reset: moving to head~
3ff8691 (head -> feature-branch) head@: commit: adds the client logo
2b7e508 (master) head@: reset: moving to head~1
37a632d head@: commit: adds the client logo to the project
2b7e508 (master) head@: reset: moving to head
2b7e508 (master) head@: commit (amend): added contributing info to the site
dfa27a2 head@: reset: moving to head
dfa27a2 head@: commit (amend): added contributing info to the site
700d0b5 head@: commit: addded contributing info to the site
efba795 head@: commit (initial): initial commit
記下最左邊的列,因為這是索引。 如果要返回歷史記錄中的任何一點,請執行以下命令,將
替換為該引用,例如dfa27a2
。
git reset head@
雖然沒用過git,但是還是忍不住儲存了下來。如果自己以後的過程遇到了這方面的知識,還是可以翻出來看看的
Oracle tns配置的6種常見錯誤解決問題
經過長時間學習oracle,你可能會遇到oracle tns配置問題,這裡將介紹oracle tns配置問題的解決方法。最近忙著安裝oracle資料庫,本來挺簡單的,可老是出現問題,最後自己在網上整理了一些tns錯誤解決方法,希望對初學者有益。常見問題 1 ora 12541 tns 沒有 顯而易見...
ORACLE常見錯誤以及解決辦法
好記性不如爛筆頭,以後將專案中常見的oracle的錯誤,已經解決辦法詳細記錄下來。1.ora 24324 錯誤描述 sql sql shutdown immediate ora 24324 service handle not initialized ora 24323 value not allo...
錯誤檔案ORACLE 常見錯誤以及解決辦法
ps 今天上午,非常鬱悶,有很多簡單基礎的題問搞得我有些迷茫,哎,幾天不寫就忘。目前又不當coo,還是得用心記 哦!好忘性不如爛筆頭,後以將專案中見常的oracle的錯誤,已處理辦法具體記錄下來。1.ora 24324 錯誤描述 sql shutdown immediate ora 24324 se...