前 20 個 GIT 命令開始

已發表: 2020-06-10

您可能知道,GIT 是一個分佈式版本控制系統。 工程師使用它來跟踪在軟件開發過程中對源代碼所做的更改。 如果您是一名開發人員,尤其是剛剛進入該行業,您必須學習一些更有用的 GIT 命令。

讓我們看看您應該學習的最佳 GIT bash 命令。

目錄顯示
  • 設置項目:GIT 提示的解釋
    • 初始化
    • 配置
    • 克隆
    • 別名
  • 執行和撤消更改的命令
    • 地位
    • 添加
    • 犯罪
    • 重置
    • 恢復
  • 團隊協作的 Git 命令
    • 分支
    • 簽出
    • 犯罪
    • 合併
    • 變基
  • 提交命令後
    • 日誌
    • 展示

設置項目:GIT 提示的解釋

前端網絡開發編程編碼 html 設計 css 開發人員 javascript-GIT 命令

為您推薦: 5 款出色的免費應用程序,可幫助您學習如何編碼。

初始化

假設您剛剛在您最喜歡的 IDE 中創建了一個項目,並且您需要了解 PowerShell GIT 提示。 您必須設置一個可用的 GIT 存儲庫。

當您這樣做時,您必須告訴 GIT 應該使用和運行哪個目錄。 git init功能就是你將如何做到這一點。 GIT 會創建一個隱藏的。 git 目錄並使用它來保持其文件組織為其他子目錄。

以下是下一個流行編輯器的git init命令列表:

原子git config –global core.editor “atom –wait”
BBEdit(Mac,帶命令行工具) git config –global core.editor “bbedit -w”
編輯器 (Linux) git config –global core.editor “gedit –wait –new-window”
記事本(Windows 64 位) git config core.editor 記事本
記事本++(Windows 64 位) git config –global core.editor “'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin”(另請參見下面的註釋)
從頭開始(Linux) git config –global core.editor “scratch-text-editor”
崇高的文本(macOS) git config –global core.editor “/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl –new-window –wait”
崇高文本(Windows 64 位) git config –global core.editor “'C:\Program Files\Sublime Text 3\sublime_text.exe' -w”(另請參見下面的註釋)
維姆git config –global core.editor “vim”
視覺工作室代碼git config –global core.editor “code –wait”

配置

創建存儲庫後,您可能會在其中配置一些基本元素,例如設置用戶名。 這就是您需要 CONFIG 命令的原因。 GIT 列表的任何命令都將包含它。

您可以通過執行以下命令來設置您的用戶名:

 git config user.name=<replace_with_your_username>.

這會將用戶名放在附近的存儲庫中。 但是請注意,之後如果要創建第二個存儲庫,則必須再次設置用戶信息。

如果添加全局命令選項,則不需要執行此操作。 它將全局設置您的信息:

 git config --global user.name=<replace_with_your_username>.

您還可以使用 CONFIG 命令來配置其他方面。 您可以將命令放在配置文件中。

克隆

要在遠程計算機上獲取存儲庫,您必須設置 CLONE 命令。 您可以使用git clone設置並通過將 URL 作為參數傳遞來執行此操作。 此命令應在您的計算機中克隆整個遠程存儲庫。 這是另一個 GIT 中心命令,可以很好地為開發人員提供服務。

 $ git clone git://git.kernel.org/pub/scm/git/git.git

別名

使用 ALIAS 命令,您可以為您最喜歡的命令創建快捷方式。 它是一種工具,可幫助您包裝一系列命令並將它們保存在一個名稱下。 這將被視為您作為開發人員經常使用的常見 GIT 命令之一。

您還可以在配置文件中添加別名。 在這種情況下,示例中的指令將在全局配置文件中變成以下配置。 例如,您可以為最常用的命令設置下一個快捷方式:

 $ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status

執行和撤消更改的命令

編碼筆記本電腦編程工作軟件技術 GIT 命令

地位

如果您想顯示暫存區域的狀態和您的工作配置,則可以使用此命令。 通過使用它,您可以查看已經上演了哪些改動,哪些還沒有。

添加

在提交修改後的文件或新文件之前,必須將其添加到暫存區。 通過運行git add指令來執行此操作。 您必須將文件名和目錄名作為參數傳遞。 您可以輸入 f_your_file>。 屆時,您的文件將從“待提交的更改”列表中刪除。

添加 -p(或 —patch)允許您選擇要提交的每個跟踪文件的部分。 然後每個提交只包含相關的更改。

犯罪

假設您已經完成了一些功能實現,並且您想要保存更改。 查看“要提交的更改”列表。 完成後,您就會知道所有需要的文件都已暫存。 那是你可以執行git commit的時候。

執行此命令後,將打開默認編輯器。 然後您應該輸入您的 COMMIT 消息。

如果您的消息很短,請將其包含在 GIT COMMIT 命令中,如下所示:

 git commit -m “Your_first_commit_message.”

您還可以添加 -a 選項。 通過這樣做,您可以確保 GIT 將查看您的工作樹。 然後它將對新文件和修改後的文件執行 GIT ADD,並在提交之前對任何已刪除的文件執行git rm

也許您忘記將文件添加到您的提交中。 您不想為該文件創建另一個提交命令。 您可以改用修改選項。

永遠不應修改公開提交。 請記住,您的同事可能已將他們的工作基於該提交。 您不想因為他們所做的任何更改而混淆他們。

重置

git reset是另一個工具,在您開始作為開發人員的工作生活時應該對您很方便。 這是一個幫助您重新格式化更改的命令。 它有多種使用方式,但一個常見的例子是當您提供模式和提交標識時,就好像有參數一樣,如下所示:

 git reset <mode> <commit>.

有多種重置可能性。 要理解它們,您應該了解三棵 GIT 樹。

  • Mixed 是使用 GIT RESET 的默認調用。 它使用混合選項以及 HEAD 作為提交 ID。 它確實會重置 ref 指針並將任何更改從暫存索引移到工作區域。 然後暫存區與指定提交發生的狀態相匹配。
  • Hard:hard 選項重置 ref 指針並調整 staging 索引。 它還會修改工作目錄,以匹配特定提交的狀態。 本質上,它重置了所有方面。 在進行硬重置之前,了解您將要進行的大規模更改。
  • Soft:還有一個 soft 選項,它不會觸及暫存索引或您的工作目錄。 ref 指針是所有被更新的。

假設您已經在某個功能區域工作了一段時間。 你看到有一個錯誤必須在那個時候被修復。 但是您的功能實現仍在進行中,您不想造成任何未完成的分支更改。 你的git stash命令就是你所需要的。

此方法可讓您將更改保留在 STASH 堆棧中。 之後,您可以列出它們以及 git 存儲列表。

您可以在其上應用存儲的分支沒有限制。 您可以將更改存儲在一個分支中,並在需要時將其應用到另一個分支。

要使存儲的更改生效,請使用 git stash apply 指令。 它應用存儲在堆棧中的最新更改。 如果您希望應用較早的更改,則可以指定名稱,例如 git stash apply [email protected]{1}。 這適用於堆棧中的另一個存儲。

一旦您使用 apply 指令應用存儲,它就不會從該堆棧中刪除。 您可以將其視為您將經常使用的 GIT 流程命令。

您可能會喜歡: 2020 年移動應用開發的趨勢是什麼?

恢復

也許您認為將完成的更改推送到其原始分支是合適的,並且注意到您的一個提交不需要在那裡。 通過添加另一個指令來修復它,該指令將擺脫前一個指令。 REVERT 指令可以幫助您。 您必須指定您的提交 ID 和撤消作為參數: git revert <commit_id>

該命令將計算出方便的信息,包括分支的名稱、在遠程之後或之前進行的提交數。 此外,您還可以將新文件和修改後的文件顯示為多個列表:

  • 要提交的更改。
  • 變更未設置為承諾。
  • 未跟踪的文件。

團隊協作的 Git 命令

php-framework-code-programming-development

分支

使用git branch指令,您的系統將使用分支列表。 如果你想查看遠程分支,那麼 git branch -r 就是你的方式。 如果你想查看本地和遠程分支,那麼使用 git branch -a。

您可以使用以下命令刪除分支:git branch -d <branch_name>。

簽出

這是另一個經常使用的 GIT 指令。 要在分支機構工作,您必須執行轉換。 git checkout是如何輕鬆地從一個分支切換到另一個分支的。 您可以使用它來細讀文件以及提交。 Git checkout <name-of-your-branch>是如何執行的。

如果你想在分支之間成功切換,請記住以下幾點:

切換時可以提交或隱藏當前分支中的更改

您檢查的任何分支機構必須存在於您的本地

還有一個快捷命令,可以讓你一次性創建和切換到一個分支:

 git checkout -b <name-of-your-branch>.

這是一個在本地創建不同指令的命令(-b 代表分支)。 它在創建後直接查看最新的分支。

使用git pull指令,您可以通過遠程存儲庫下載新數據並與最近的存儲庫集成。 當您運行此命令時,您會刷新本地分支,以及來自遠程終端的任何更改。

也有一種默認方式來集成新的更改。 使用合併。 如果您使用以下選項,則可以將其更改為變基: git pull –rebase

建議始終將更改放在乾淨的附近存儲庫中,不要在其中進行未提交的更改。

犯罪

這是一個可能會“快照”或在版本歷史記錄中記錄文件的指令。 您輸入 git commit -m “[ 輸入提交信息]” 從而使用它。

它是提交您添加的任何文件的命令,以及 GIT ADD 命令。 它還有效地提交了此後更改的文件。

在您提交任何更改後,您可能想要推送到遠程存儲庫。 這樣,您的隊友就可以使用它們。

如果你運行 GIT PUSH,這會將當前區域的最近更改“推送”到它的遠程。 如果通過在本地創建分支,將整個分支推送到遠程存儲庫,那很好。 這個指令可以讓你這樣做: git push -u origin <replace_with_branch_name>

這就是將具有指定名稱的分支推送到原始存儲庫的方式。 遠程分支應使用與本地分支相同的名稱。

合併

我們還必須將 MERGE 放在這個 GIT 提示列表中。 您可能希望在某個時候集成功能分支或修復另一個分支上的任何錯誤。 合併你的分支可以讓你做到這一點。 運行git merge命令是您需要做的。

運行命令後,可以發生兩種合併,即三向合併或快進合併。

快進合併適用於您希望合併的分支之間存在線性路徑的情況。 假設您已經從 master 創建了一個 bugfix 分支。 你已經解決了這個問題,你會想把它合併到一個母版中。 但是,沒有人對分支進行更新。 GIT 可以合併分支本身,這將解決問題。

當分支之間沒有線性路徑時,會發生三向合併。 與上一個示例一樣,您從主版本設計了一個錯誤修復分支。 您糾正了錯誤,現在您需要將其與git merge <branch>合併。

也許您發現有人更新了母版。 為了連接分支,GIT 必須創建一個新的提交,其中合併了更改。

這時候問題就來了。 兩個分支都更改了相同的代碼塊。 沒有您的幫助,GIT 無法將這些更改混合在一起。 接受一項更改是最簡單的方法。

但是,您也可以組合更改。 發生這種情況時,GIT 會使用一些視覺指示器修改受影響的文件。 這使您可以輕鬆定位問題。 使用了一些視覺標記:

 <<<<<< — shows the place the conflict began ====== — separates changes from different branches >>>>>> — shows where the conflict ends

一旦解決了衝突並刪除了標記,衝突區域將使用git add添加到暫存區域。

如果出現錯誤,或者你想換個方向,運行 git merge –abort。 通過這樣做,您的分支不會被修改。

如果沒有,則使用 git commit 命令。 它將結束合併,創建一個新的提交。

另一個有用的命令是git mergetool命令,它只是啟動一個外部合併助手,以防你在 Git 中遇到合併問題。

您可能還喜歡: iOS 應用程序開發的最佳編程語言。

變基

通過先使用 REBASE 集成更改,然後合併。 使用 REBASE,您正在重寫程序的背景故事。 公共提交不應該被重新設置,例如,團隊成員可以將他們的工作基於它們。

與其選擇將特定分支合併到您自己的分支,不如將您的分支重新設置為特定分支。 但是,您正在使用的變基協議是做什麼的?

將會發生的是,更改將從一個特定的分支集成到另一個分支中。 第二個分支的基礎將從一個提交更改為另一個提交。 看起來第二個分支是從第一個分支創建的。 這為您提供了清晰的線性歷史記錄。

Git rebase <name_of_branch_to_rebase_on>是你執行命令的方式。

這是 rebase 命令的第一個或標準模式。 然後是第二種模式,也稱為交互模式。 您可以使用它輕鬆修改一系列提交,然後再將它們包含在另一個分支(也稱為遠程分支)中。

提交命令後

編程代碼網絡開發 GIT 命令

日誌

該指令用於列出當前分支的版本歷史。 要執行它,請輸入git log –follow[file]

該指令列出文件版本歷史。 文件的重命名將包括在內。 git log確實會打印提交歷史記錄。

在這種情況下可以使用幾個選項。 其中之一是 git log –stat。 對於歷史上的每個提交,都會打印一個名稱列表。 已刪除、修改或添加的文件將可訪問。 可以看到刪除或添加的行數。 您會注意到還有一個摘要供您細讀。

展示

開發人員使用的顯示提示可以顯示各種對象的詳細信息。 當我們說“對象”時,我們指的是提交或標籤。 git show可用於顯示舊文件版本。 例如,您可以使用此命令顯示兩次提交前的文件版本。

希望這個 GIT 命令教程有助於介紹這個工具。 作為一名開發人員,您對 GIT 了解得越多,您就越有可能被尋找可靠程序員的團隊聘用。

隨著您在該領域的進步,您將了解更多 GIT 提示,並且您的編程將變得更加順暢。 您將能夠編寫可由您的隊友添加的可用代碼。

作者-形象-Slava-Vaniukov 本文由 Slava Vaniukov 撰寫。 他是軟件和應用程序開發機構 Softermii 的聯合創始人兼首席執行官。 他在網絡和移動開發行業擁有超過 9 年的經驗。 除此之外,他還是 Softermii 博客和技術博主的作者之一,在其他各種網絡資源中都有特色。 你可以在 LinkedIn 上關注他。