2 時光穿梭機

2021-10-06 13:18:02 字數 3727 閱讀 3603

根據廖雪峰的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 commitgit 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 完成乙個專案時,其中難免會出現修改多次,還有可能會出現檔案誤刪丟失等問題,只要你正確的...