根據廖雪峰的git教程進行學習,以問題的形式來學習,懶得記太多筆記
修改檔案之後如何操作提交?
修改文件儲存;
option:用git status
檢視當前目錄的變動
option:用git diff
檢視修改的內容
重新提交,git add
+git status
+git commit -m
note:中間加一步git status
是為了確定一下更改是否正確
詳情:
在之前提交的read.me
中我們隨便寫入,比如"hello word"字串,然後read.me
檔案儲存後,步驟如下:
用git status
明令檢視倉庫的當前狀態,如下
$ git status
on branch master
changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: read.md
no changes added to commit (use "git add" and/or "git commit -a"
)
可以看到提示當前的目錄下read.me
被修改過了(modified),然後人性化的提示我們可以用git restore
命令來放棄這次更改,或者像之前一樣用git add
+git commit -m
來提交這次更改。
note:如果發生更改了可以使用git diff
來檢視更改的內容,如下
$ git
diff read.md
diff --git a/read.md b/read.md
index b004fdf..40d8cf8 100644
--- a/read.md
+++ b/read.md
@@ -1 +1 @@
-print(
;;he)
\ no newline at end of file
+hello word
\ no newline at end of file
小結:
修改文件儲存;
option:用git status
檢視當前目錄的變動
option:用git diff
檢視修改的內容
重新提交,git add
+git status
+git commit -m
note:中間加一步git status
是為了確定一下更改是否正確
如何進行版本退回?
git log
檢視版本號
然後用命令git reset --hard /
就能退回到上上版本(某個版本號)
note:每次退回前用git log
檢視一下,另外退回到了上上個後想找尋其之後的可以用git reflog
命令
版本記號:詳情:
使用git log
檢視修改過的記錄,最上面的為最新的,如下
$ git log
commit 948f4f25c688f9917564927c15d92d93647684c8 (head -> master)
author: ylzhang
date: wed may 27 14:15:03 2020 +0800
052720
commit 007fa1fed4d7260c76378005ab0ecfe6d65249ed #版本號(commit id)
author: ylzhang
date: tue may 26 13:52:38 2020 +0800
test
commit a5ba62e93cd54c8b3d8d4def2d0a1284be527e6b
author: ylzhang
date: tue may 26 13:27:01 2020 +0800
write a readme file
用head
表示當前版本(最新的版本)
加上--pretty=oneline
引數可以簡化上述顯示
$ git log --pretty=oneline
948f4f25c688f9917564927c15d92d93647684c8 (head -> master) 052720
007fa1fed4d7260c76378005ab0ecfe6d65249ed test
a5ba62e93cd54c8b3d8d4def2d0a1284be527e6b write a readme file
然後用命令git reset --hard /
就能退回到上上版本(某個版本號)
note:每次退回前用git log
檢視一下,另外退回到了上上個後想找尋其之後的可以用git reflog
命令
版本記號:什麼是工作區(working directory)什麼是版本庫(repository)?
版本庫中的暫存區是什麼?什麼是分支master
?什麼是指標head
?
為什麼說git管理的是修改,而不是檔案呢?
撤銷修改的命令git checjout --
會讓檔案回到最近一次git commit
或git add
時的狀態
場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout --
。
場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head
,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。
如何刪除檔案?
用命令git rm
刪掉檔案,然後git commit
— 學習更新於05.28.2020
git reflog 時光穿梭機
一 問題描述 二 解決 小白花費一周時間做了git log如下所示6個功能。commit的資訊就是做了6個功能,每個功能對應乙個commit的提交,分別是feature 1 到 feature 6 然後執行強制回滾,git reset hard 2216d4e。回滾到了feature 1上,並且回滾...
Git 時光穿梭機01
看這篇文章之前可以先閱讀 建立版本庫這篇文章 我們已經成功地新增並提交了乙個readme.txt檔案,現在是時候繼續工作了,於是,我們繼續修改readme.txt,改成如下內容 git is a distributed version control system git is free softw...
Git 版本穿梭 時光穿梭機
當你玩遊戲時,每玩一段時間都會存一下檔以免前面的進度丟失,在打厲害 boos 前,你也會選擇存檔,以免打不過而丟失進度,這個存檔被稱為 快照 git 允許你commit後的倉庫自由前進後退版本,當你從 0 到 1 完成乙個專案時,其中難免會出現修改多次,還有可能會出現檔案誤刪丟失等問題,只要你正確的...