W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
對于基本的暫存內容及提交到你的歷史記錄中的工作流,只有少數基本的命令。
git add
?命令將內容從工作目錄添加到暫存區(qū)(或稱為索引(index)區(qū)),以備下次提交。 當git commit
?命令執(zhí)行時,默認情況下它只會檢查暫存區(qū)域,因此?git add
?是用來確定下一次提交時快照的樣子的。
這個命令對于 Git 來說特別的重要,所以在本書中被無數次的提及和使用。 我們將快速的過一遍一些可以看到的獨特的用法。
我們在?跟蹤新文件?一節(jié)中介紹并詳細解釋了?git add
?命令。
然后,我們在?遇到沖突時的分支合并?一節(jié)中提到了如何使用它來解決合并沖突。
接下來,我們在?交互式暫存?一章中使用它來交互式的暫存一個已修改文件的特定部分。
最后,在?樹對象?一節(jié)中我們在一個低層次中模擬了它的用法,以便你可以了解在這背后發(fā)生了什么。
git status
?命令將為你展示工作區(qū)及暫存區(qū)域中不同狀態(tài)的文件。 這其中包含了已修改但未暫存,或已經暫存但沒有提交的文件。 一般在它顯示形式中,會給你展示一些關于如何在這些暫存區(qū)域之間移動文件的提示。
首先,我們在?檢查當前文件狀態(tài)?一節(jié)中介紹了?status
?的基本及簡單的形式。 雖然我們在全書中都有用到它,但是絕大部分的你能用?git status
?做的事情都在這一章講到了。
當需要查看任意兩棵樹的差異時你可以使用?git diff
?命令。 此命令可以查看你工作環(huán)境與你的暫存區(qū)的差異(git diff
?默認的做法),你暫存區(qū)域與你最后提交之間的差異(git diff --staged
),或者比較兩個提交記錄的差異(git diff master branchB
)
首先,我們在?查看已暫存和未暫存的修改?一章中研究了?git diff
?的基本用法,在此節(jié)中我們展示了如何查看哪些變化已經暫存了,哪些沒有。
在?提交準則?一節(jié)中,我們在提交前使用?--check
?選項來檢查可能存在的空白字符問題。
在?確定引入了哪些東西?一節(jié)中,了解了使用?git diff A...B
?語法來更有效地比較不同分支之間的差異。
在?高級合并?一節(jié)中我們使用?-b
?選項來過濾掉空白字符的差異,及通過?--theirs
、--ours
和?--base
?選項來比較不同暫存區(qū)沖突文件的差異。
最后,在?開始使用子模塊?一節(jié)中,我們使用此命令合?--submodule
?選項來有效地比較子模塊的變化。
當你不想使用內置的?git diff
?命令時。git difftool
?可以用來簡單地啟動一個外部工具來為你展示兩棵樹之間的差異。
我們只在?查看已暫存和未暫存的修改?一節(jié)中簡單的提到了此命令。
git commit
?命令將所有通過?git add
?暫存的文件內容在數據庫中創(chuàng)建一個持久的快照,然后將當前分支上的分支指針移到其之上。
首先,我們在?提交更新?一節(jié)中涉及了此命令的基本用法。 我們演示了如何在日常的工作流程中通過使用?-a
?標志來跳過?git add
?這一步,及如何使用?-m
?標志通過命令行而不啟動一個編輯器來傳遞提交信息。
在?撤消操作?一節(jié)中我們介紹了使用?--amend
?選項來重做最后的提交。
在?分支簡介,我們探討了?git commit
?的更多細節(jié),及工作原理。
在?簽署提交?一節(jié)中我們探討了如何使用?-S
?標志來為提交簽名加密。
最后,在?提交對象?一節(jié)中,我們了解了?git commit
?在背后做了什么,及它是如何實現的。
git reset
?命令主要用來根據你傳遞給動作的參數來執(zhí)行撤銷操作。 它可以移動?HEAD
?指針并且可選的改變?index
?或者暫存區(qū),如果你使用?--hard
?參數的話你甚至可以改變工作區(qū)。 如果錯誤地為這個命令附加后面的參數,你可能會丟失你的工作,所以在使用前你要確定你已經完全理解了它。
首先,我們在?取消暫存的文件?一節(jié)中介紹了?git reset
?簡單高效的用法,用來對執(zhí)行過?git add
?命令的文件取消暫存。
在?重置揭密?一節(jié)中我們詳細介紹了此命令,幾乎整節(jié)都在解釋此命令。
在?中斷一次合并?一節(jié)中,我們使用?git reset --hard
?來取消一個合并,同時我們也使用了git merge --abort
?命令,它是?git reset
?的一個簡單的封裝。
git rm
?是 Git 用來從工作區(qū),或者暫存區(qū)移除文件的命令。 在為下一次提交暫存一個移除操作上,它與?git add
?有一點類似。
我們在?移除文件?一節(jié)中提到了?git rm
?的一些細節(jié),包括遞歸地移除文件,和使用?--cached
選項來只移除暫存區(qū)域的文件但是保留工作區(qū)的文件。
在本書的?移除對象?一節(jié)中,介紹了?git rm
?僅有的幾種不同用法,如在執(zhí)行?git filter-branch
?中使用和解釋了?--ignore-unmatch
?選項。 這對腳本來說很有用。
git mv
?命令是一個便利命令,用于移到一個文件并且在新文件上執(zhí)行git add
命令及在老文件上執(zhí)行git rm
命令。
我們只是在?移動文件?一節(jié)中簡單地提到了此命令。
git clean
?是一個用來從工作區(qū)中移除不想要的文件的命令。 可以是編譯的臨時文件或者合并沖突的文件。
在?清理工作目錄?一節(jié)中我們介紹了你可能會使用?clean
?命令的大量選項及場景。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: