git 官方文件跟讀 第二章(2)

2021-10-24 02:18:22 字數 2439 閱讀 6882

要檢視尚未暫存的檔案更新了哪些部分,不加引數直接輸入git diff

此命令比較的是工作目錄中當前檔案和暫存區域(如果暫存區沒有就比較)快照之間的差異。 也就是修改之後還沒有暫存起來的變化內容。

若要檢視已暫存的將要新增到下次提交裡的內容,可以用git diff --staged命令。 這條命令將比對已暫存檔案與最後一次提交的檔案差異:

commit -v 檢視此次提交的差異

commt [-m] 提交資訊

如果不加需要手動資訊:

好,現在你已經建立了第乙個提交! 可以看到,提交後它會告訴你,當前是在哪個分支(master)提交的,本次提交的完整 sha-1 校驗和是什麼(9ab6205),以及在本次提交中,有多少檔案修訂過,多少行新增和刪改過。

請記住,提交時記錄的是放在暫存區域的快照。 任何還未暫存檔案的仍然保持已修改狀態,可以在下次提交時納入版本管理。 每一次執行提交操作,都是對你專案作一次快照,以後可以回到這個狀態,或者進行比較。

儘管使用暫存區域的方式可以精心準備要提交的細節,但有時候這麼做略顯繁瑣。 git 提供了乙個跳過使用暫存區域的方式, 只要在提交的時候,給git commit加上-a選項,git 就會自動把所有已經跟蹤過的檔案暫存起來一併提交,從而跳過git add步驟:

1.不在快取區

git rm 檔案不在暫存區,執行之後工作區,暫存區,版本庫中直接消失

2.在快取區

git rm -f 強制刪除(同 rm)。 git rm --cached  檔案留下,快取區,版本庫中消失(工作區中有,只是不再追蹤)

不像其它的 vcs 系統,git 並不顯式跟蹤檔案移動操作。 如果在 git 中重新命名了某個檔案,倉庫中儲存的元資料並不會體現出這是一次改名操作。 不過 git 非常聰明,它會推斷出究竟發生了什麼,至於具體是如何做到的,我們稍後再談。

既然如此,當你看到 git 的mv命令時一定會困惑不已。 要在 git 中對檔案改名,可以這麼做:

$ git mv file_from file_to
它會恰如預期般正常工作。 實際上,即便此時檢視狀態資訊,也會明白無誤地看到關於重新命名操作的說明:

$ git mv readme.md readme

$ git status

on branch master

your branch is up-to-date with 'origin/master'.

changes to be committed:

(use "git reset head ..." to unstage)

renamed: readme.md -> readme

其實,執行git mv就相當於執行了下面三條命令:

$ mv readme.md readme

$ git rm readme.md

$ git add readme

如此分開操作,git 也會意識到這是一次重新命名,所以不管何種方式結果都一樣。 兩者唯一的區別是,mv是一條命令而非三條命令,直接用git mv方便得多。 不過有時候用其他工具批處理重新命名的話,要記得在提交前刪除舊的檔名,再新增新的檔名。

Git幫助文件閱讀筆記 第二章

工作目錄下面的所有檔案都不外乎這兩種狀態 已跟蹤或未跟蹤 檔案的狀態變化週期 git status 如果當前工作目錄中新增了新檔案,會顯示為未跟蹤狀態 vim readme git status on branch master untracked files use git add to incl...

第二章 繼承(2)

1.繼承條件下構造方法的呼叫規則 i.如果子類的構造方法中沒有通過super顯示呼叫父類的有參方法,也沒有通過this顯示呼叫自身的其他構造方法,則系統會預設先呼叫父類的無參構造方法,這時有無 super 一樣 ii.如果子類的構造方法中乙個super顯示呼叫父類的有參構造方法,則將執行父類相應的構...

第二章Git 基礎 Git 別名

在我們結束本章 git 基礎之前,正好有乙個小技巧可以使你的 git 體驗更簡單 容易 熟悉 別名。如果不想每次都輸入完整的 git 命令,可以通過git config檔案來輕鬆地為每乙個命令設定乙個別名。這裡有一些例子你可以試試 git config global alias.co checkou...