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