溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Git命令速查表

發布時間:2021-10-26 16:47:59 來源:億速云 閱讀:129 作者:iii 欄目:web開發

本篇內容主要講解“如何使用Git命令速查表”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用Git命令速查表”吧!

Git速查表

在不提交更改的情況下存儲更改

這是一個簡單的示例,只需運行:

git stash

然后,要恢復這些存儲的更改,并確保您位于同一分支,可以運行:

git stash apply

干掉所有未提交的更改

有時您想嘗試一些方法,但效果不佳。 要擺脫自上一次提交以來所做的所有更改,只需運行:

git checkout -- .

要僅清除特定文件或目錄中的更改,請。 可以替換為您希望從中刪除更改的文件和/或目錄的列表。

將fork與主倉庫同步

分支項目時,請務必保持最新狀態,以避免在發出請求時出現復雜的合并沖突,或者只是確保您具有所有新功能和安全補丁。

因此,這是同步叉子的方法:

(1) 添加一個遠程倉庫

從分支的位置獲取上游(主)存儲庫的地址。 然后運行以下命令,替換URL:

git remote add upstream <upstream_repo_url>

您可以通過運行git remote -v來檢查是否有效。

(2) 將fork與上游倉庫同步

要同步派生,請獲取上游存儲庫:

git fetch upstream

然后,在您要與之同步的分支(通常是主節點)上,運行:

git merge upstream/master

或git根據您選擇的策略對上游/主服務器進行重新設置。

刪除最后的X次提交

做出一些您最終需要還原的提交? 您可以通過兩種方式進行操作:

git reset HEAD~2 # undo the commits but keep the changes git reset --hard HEAD~2 # undo the commits and discard changes

使用第二個選項,就好像提交從未發生過。

您應該將2替換為您希望從最新提交(HEAD)返回的提交數。

將各種提交壓縮為一個(無需重新設置!)

如果您想擺脫所有的"修訂錯誤"提交,并將它們全部合并為一個,則可以使用以下方法:

git reset --soft HEAD~2 && git commit -m "your message"

請記住將2替換為您要從HEAD計數的提交次數。

在上一次提交時簽出項目的狀態

要返回過去查看過去一次給定提交的項目狀態,請首先運行git log以查看提交歷史記錄,然后選擇要返回的提交。

然后,復制其哈希并僅運行git checkout 。 這將使您處于"分離頭"模式。 要返回,只需按名稱簽出分支即可。

忽略已經添加到Git的文件

我們到過那里-添加或提交我們不應該擁有的東西。 要將文件從Git跟蹤中刪除并保留在系統中,只需執行以下操作:

git reset <file> && echo <file> >> .gitignore

提交后添加到提交中

如果要更改提交消息或向其中添加新文件,可以使用git ammend。

要更改消息,請使用:

git commit --amend -m "<new_message>"

并向上一次提交添加新文件:

git add <file> && git commit --amend

請注意,這"省去了創建新提交的麻煩",但實際上確實在后臺創建了新提交。 因此,只有在尚未將更改推送到遠程存儲庫時,才應該這樣做。

從Git刪除文件并修剪其整個歷史記錄

如果您曾經將敏感數據推送到遠程存儲庫(例如,在GitHub上),則不僅需要從Git跟蹤中刪除文件,還需要刪除其整個歷史記錄。

您也不應該再使用該數據,例如在使用API密鑰,密碼等的情況下。

這樣做的過程并不是最簡單的,但是GitHub已經編寫了一個整頁的教程,因此我認為我應該在這里鏈接它。

"從存儲庫中刪除敏感數據-GitHub"。

記錄合并沖突解決方案

為了避免多次解決相同的確切合并沖突,可以啟用合并沖突解決方案的Git緩存。 這將存儲合并沖突的解決方式,如果再次出現,將自動解決相同的沖突:

git config --global rerere.enabled true

在Git Docs上了解有關此內容的更多信息。

錯誤分支上的提交

如果您在錯誤的分支上進行了提交,則應該能夠使用我們有關刪除提交的知識來解決該問題,如下所示:

git branch <new_branch> && git reset HEAD~2 --hard

這將創建一個新分支,并從您錯誤地添加了提交的當前分支中刪除指定數量的提交。

如果您實際上希望這些提交在現有分支上而不是在新分支上進行,則可以執行以下操作:

git checkout <desired_branch> && git merge <branch_with_commits> git checkout <branch_with_commits> && git reset HEAD~2 --hard

但是,如果不能合并,則可以使用git cherry-pick,如下所示:

git checkout <desired_branch> git cherry-pick <branch_with_commits> <branch_with_commits>~2 git checkout <branch_with_commits> && git reset HEAD~2 --hard

更改分支名稱

要更改分支的名稱,請使用git branch -m。 您可以更改當前分支的名稱:

git branch -m <new_name>

或更改任何分支的名稱:

git branch -m <old_name> <new_name>

查找帶有錯誤的提交

如果您遇到與提交無關的問題,則需要確定過去是哪種提交導致了此問題。 這在測試中很常見,例如,由于一項與您的工作完全無關的測試而無法通過時。

在這種情況下,要查找"不良"提交,可以使用git bisect。

它的工作方式如下:

  • 開始過程

  • git bisect start
  • 將當前提交標記為"不良"

  • git bisect bad
  • 將過去的提交標記為"良好"

例如,使用git log查找過去的提交,其中事情按預期進行(即良好)。 然后,運行:

git bisect good <commit_hash>
  • 平分秋色!

您現在應該收到以下消息:

Bisecting: 2 revisions left to test after this (roughly 3 steps)[6ca4a67aeb4b0d9835ecf15e44505c48f93642c9] my-branch

數字,哈希和分支名稱自然會與您不同。

在這里,Git正在做的事情是一步一步地完成提交,直到找到被破壞的提交為止。 您無需運行git checkout,因為它已為您處理。

在每次提交時,都應檢查一切是否正常。 如果不是,請使用git bisect bad將提交標記為錯誤。 如果是,則使用git bisect  good將其標記為好。

將提交標記為良好后,Git會將您帶到第一個"不良"提交(即,您標記為不良的最后一個),以便您可以正確地調查錯誤。 完成后,只需通過簽出分支(git  checkout )返回分支的頭并解決問題。

到此,相信大家對“如何使用Git命令速查表”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

git
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女