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場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。git reset head readme.txt
重置後撤出暫存區的變更:
m readme.txt
d redme.txt
場景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也是一樣,每當你覺得檔案修改到一定程度的時候,...