回到從前 checkout 針對單個檔案

2021-10-04 04:39:13 字數 1405 閱讀 6164

這節例子的初始檔案

其實checkout最主要的用途並不是讓單個檔案回到過去, 我們之後會繼續講checkout在分支branch中的應用, 這一節主要講checkout讓檔案回到過去

- gittut

- 1.py

- 2.py

我們僅僅要對1.py進行回到過去操作, 回到c6762a1 change 1這乙個commit. 使用checkout+ idc6762a1+--+ 檔案目錄

1.py, 我們就能將1.py的指標head放在這個時刻c6762a1:

$ git log --oneline

# 輸出

904e1ba change 2

c6762a1 change 1

13be9a7 create 1.py

---------------------

$ git checkout c6762a1 -- 1.py

這時1.py檔案的內容就變成了:

a = 1
我們在1.py加上一行內容#i went back to change 1然後addcommit1.py:

$ git add 1.py

$ git commit -m "back to change 1 and add comment for 1.py"

$ git log --oneline

# 輸出

47f167e back to change 1 and add comment for 1.py

904e1ba change 2

c6762a1 change 1

13be9a7 create 1.py

可以看出, 不像reset時那樣, 我們的change 2並沒有消失, 但是1.py卻已經回去了過去, 並改寫了未來.

回到從前 reset

有時候我們總會忘了什麼,比如已經提交了commit卻發現在這個commit中忘了附上另乙個檔案.接下來我們模擬這種情況.上節內容中,我們最後乙個commit是change 2,我們將要新增另外乙個檔案,將這個修改也commit進change 2.所以我們複製1.py這個檔案,改名為2.py.並把2....

能回到從前麼

年過了,坐了24個多小時的火車,來到了廣州,現在的我住在華農的好朋友那裡,此刻坐在乙個實驗室裡,很安靜。愛情被我挽救回來了,但是回頭看看這短短十餘天發生的事情,會讓人生出種後怕的感覺,如果專注在這個問題上,都會不由的收緊,這感覺我想每個人都有經歷過。不少人說我在這年頭辭職不明智,但是我並沒有想那麼多...

Git系列4 回到從前 reset

有時候我們總會忘了什麼,比如已經提交了commit卻發現在這個commit中忘了附上另乙個檔案.接下來我們模擬這種情況.上節內容中,我們最後乙個commit是change 2,我們將要新增另外乙個檔案,將這個修改也commit進change 2.所以我們複製1.py這個檔案,改名為2.py.並把2....