最常見的Git錯誤都有哪些,如何解決它們?

2021-09-25 21:27:30 字數 3019 閱讀 6847

如果您曾經與許多開發者一起開發乙個大專案,那麼使用 git 作為版本控制是乙個最好的選擇。不過 git 很複雜,使用過程中經常會犯各種錯誤。在本文中,我將討論程式設計師在使用 git 時所犯的一些常見錯誤以及如何解決它們。

經過幾個小時的編碼後,您的提交訊息可能存在很多拼寫錯誤,好在有乙個簡單的解決方案:

git commit --amend

該命令將開啟您的編輯器,並允許您更改最後一次提交訊息。因為可能沒人會注意到你寫的 「initial commment」 有三個 m。

假設已經是下午三點了,但是你還沒有吃午飯。飢腸轆轆的你可能直接就用 feature-brunch 作為你的分支名了,哇塞,好美味啊。可是很明顯你寫錯了,應該是 feature-branch 。

所以你可以使用 mv 命令類似重新命名檔案的方式重新命名此分支:將其移動到具有正確名稱的新位置。

如:

git branch -m feature-brunch feature-branch

但如果您已推送此分支,則需要執行幾個額外步驟。我們需要從遠端刪除舊分支並推送新分支:

git push origin --delete feature-brunch

git push origin feature-branch

不小心將所有更改提交到主分支

你可能正在開發一項新功能,由於太倉促,你忘記為它開啟乙個新的分支。這時候已經提交了大量檔案,而且這些提交都位於主分支上。

現在我們需要使用以下三個命令將所有這些更改回滾到新分支:

注意:確保先提交或儲存更改,否則一切都將丟失!

git branch feature-branch

git reset head~ --hard

git checkout feature-branch

這將建立乙個新分支,然後將主分支回滾到您進行更改之前的位置,然後最終檢出您之前所有更改完整的新分支。

忘了將檔案新增到最後一次提交

另乙個常見的 git 陷阱是過早提交。你可能錯過了乙個檔案,忘了儲存它,或者需要對最後一次提交做乙個小改動。這時候 --amend 再次成為你的朋友。

新增忘掉的檔案,然後執行該此靠譜命令:

git add missed-file.txt

git commit --amend

此時,您可以修改提交訊息,也可以只儲存它以使其保持不變。

但是如果你做的恰恰相反呢?如果您新增了乙個不想提交的檔案,該怎麼辦?乙個流氓env檔案,乙個構建目錄,乙個你不小心儲存到錯誤資料夾的狗的?這一切都是可以解決的。

如果您所做的只是暫存檔案但尚未提交,那就像重置該暫存檔案一樣簡單:

如果你已經提交了這些改變,那也不用擔心了。您只需要在之前執行額外的步驟:

上述命令將撤消提交,刪除影象,然後在其位置新增新提交。

這個命令適用於一切都出錯的地方。當您從stack overflow中複製貼上太多解決方案時,您的repo處於比開始時更糟糕的狀態。我們都遇到過此情況。

git reflog 顯示了您已完成的所有事情的列表。然後它允許你使用git的神奇時間旅行技能回到過去的任何一點。但是你不應該輕易使用。

要獲取此列表,請鍵入:

git reflog

我們所做的每乙個動作,git 都記錄下來。下面是執行該命令的輸出示例:

3ff8691 (head -> feature-branch) head@: branch: renamed refs/heads/feature-brunch to refs/heads/feature-branch

3ff8691 (head -> feature-branch) head@: checkout: moving from master to feature-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 技巧?歡迎分享!

最常見的http錯誤

5.http 401錯誤 未經授權 訪問者試圖訪問受限頁面但未經授權時,返回http 401錯誤。錯誤登入嘗試是導致這一錯誤的主因。web伺服器通過返回http 400錯誤告訴訪問者,訪問者用來訪問 的程式出錯,或訪問請求途中遭到破壞。403錯誤類似於401錯誤,不同之處在於401錯誤是未經授權,而...

5種最常見的http錯誤

對對http 500錯誤的定義已經充分證明了這是乙個最常見的http錯誤。一般來說,http 500 錯誤就是web伺服器發生內部錯誤時返回的資訊。例如,web伺服器過載時將無法正確處理訪問請求。根據google的搜尋資料統計,http 500 錯誤發生機率是404錯誤的兩倍 大多數人都知道這個錯誤...

常見的大資料架構都有哪些(三)

在大資料的發展下,很多的企業也開始重視大資料的應用。而在生活中,大資料也開始變得十分流行了,這些都得益於大資料的架構生態圈打通。我們在這篇文章中重點給大家介紹一下大資料的架構例項,希望能夠幫助大家更好地理解大資料架構。說到大資料的結構我們需要先介紹一下大資料,大資料指無法在一定時間範圍內用常規軟體工...