Git學習筆記 第二章

2022-03-30 17:39:38 字數 2724 閱讀 1528

git status

位於分支 master

尚未暫存以備提交的變更:

(使用 "git add ..." 更新要提交的內容)

(使用 "git checkout -- ..." 丟棄工作區的改動)

修改: redme.txt

未跟蹤的檔案:

(使用 "git add ..." 以包含要提交的內容)

redme.txt~

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

jack@aspire:~/git$ git diff

diff --git a/redme.txt b/redme.txt

index 394552f..4e50204 100644

--- a/redme.txt

+++ b/redme.txt

@@ -1 +1,2 @@

-this is my first git test.

+this is my first git file. //內容由test改為了file

然後執行

git add readme.txt

git comment -m "add something"

*git log 命令檢視歷史記錄

commit 2bf289cac7af933232575719f0a05548de2d92eb

author: battleblock [email protected]

date: wed sep 16 22:30:35 2015 +0800

gitcommit aa458f20559aa148b72f28f61096d7efe54952d1

author: battleblock [email protected]

date: mon sep 14 21:18:58 2015 +0800

test

commit 7b68b6f797a38b7fe2af70307e22a6008dfdf7a5

author: battleblock [email protected]

date: mon sep 14 20:38:35 2015 +0800

*git log --pretty=oneline顯示較少資訊(commin id版本號)

jack@aspire:~/git$ git log --pretty=oneline

2bf289cac7af933232575719f0a05548de2d92eb git

aa458f20559aa148b72f28f61096d7efe54952d1 test

7b68b6f797a38b7fe2af70307e22a6008dfdf7a5 write a readme file

回退head 表示當前版本,上乙個版本為head^ 上100個版本為head~100

git reset --hard head^回退到上乙個版本

jack@aspire:~/git$ git reset --hard head^

head 現在位於 aa458f2 test

cat readme命令檢視內容

git reset --hard 版本號

jack@aspire:~/git$ git reset --hard 2bf289

head 現在位於 2bf289c git

git reflog檢視每一次命令

*heard指向當前版本,git可以在歷史版本間來回穿梭,命令為git reset --hard commit id

*穿梭前用git log檢視提交歷史,確定回退到哪個版本

*重返未來,用git reflog檢視命令歷史

修改了檔案,但還未用git add命令提交,可用git checkout -- readme.txt

*readme.txt自修改後還沒有被放到暫存區,撤銷修改就回到原來的狀態;

*readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態

修改了檔案並用git add提交到到暫存區

可用命令git reset head file可以把暫存區的修改撤銷掉(unstage),重新放回工作區

git add readme.txt

git reset head readme.txt

重置後撤出暫存區的變更:

m readme.txt

d redme.txt

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。

新增乙個新檔案test.txt到git並且提交

git add test.txt

git commit -m "add test.txt"

在維恩件管理器中刪除該檔案或用rm 命令刪除

此時用git status命令檢視當前狀態

1.從版本庫中刪除該檔案

git rm test.txt

rm 'test.txt'

$ git commit -m "remove test.txt"

rm test.txt

2.恢復誤刪檔案

git checkout -- test.txt

第二章學習筆記

在c 中,陣列下標從0開始,而不是1.c 不支援陣列的抽象,也不支援對整個陣列的操作。在c 中,物件可以靜態分配 即編譯器在處理程式源 時分配,也可以動態分配 即程式執行時,用執行時刻庫函式來分配。靜態與動態記憶體分配的兩個主要區別是 1 靜態物件是有名字的變數,可以直接對你進行操作。而動態物件是沒...

第二章學習筆記

ansi c 有翻譯和執行兩種環境,且不必在一台機器上,例如交叉編譯器 cross compiler 作業系統也是如此 freestanding environment 翻譯 將源 轉換為可執行機器指令 執行 實際執行 翻譯經過以下階段 形成的目標檔案字尾可能在不同系統下不同,如 o obj cc ...

Git學習第二章第二節

你不斷對檔案進行修改,然後不斷提交修改到版本庫里,就好比玩rpg遊戲時,每通過一關就會自動把遊戲狀態存檔,如果某一關沒過去,你還可以選擇讀取前一關的狀態。有些時候,在打boss之前,你會手動存檔,以便萬一打boss失敗了,可以從最近的地方重新開始。git也是一樣,每當你覺得檔案修改到一定程度的時候,...