iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
1
Modern Web

Git與Github-30天學習歷程系列 第 16

Day16【Git與GitHub】Git 雜學(二)

哈嘍,大家好

今天要來筆記一些可能不太常用的語法,大概知道就好的下篇~~~


刪除 commit 後的檔案

這裡特別說明刪除的是 commit 後的檔案,是因為我腦袋打結了,以為不管是在工作目錄還是暫存區都可以刪除,但是 不是這樣D 大概試了87次、崩潰了8787次才好一點點點點。

使用 git rm 檔案名稱.副檔名
git rm  檔案名稱.副檔名
--這裡可以看到我有先把他 commit 後才做刪除。狀態是顯示 deleted

也可以先使用 rm 去刪除檔案,只是要記得還要使用 git add .git add --all 加入暫存區喲!


不想刪掉檔案只是不想讓 Git 版控

使用 git rm --cached
不會真的刪掉檔案,他會回到工作目錄上,並且不會被追蹤 (Untracked)
git rm --cached - 不讓Git版控


我只是想改個檔名而已

更改檔名使用 git mv 舊檔名.副檔名 新檔名.副檔名
git mv 舊檔名.副檔名 新檔名.副檔名
--耶 成功惹><


修改 Commit 的'修改記錄'

豪繞口喲>< 意思就是修改我們每次 commit 的時候會寫到的'修改記錄'窩~

先看一下我用 git log --oneline 的紀錄
git log --oneline
--注意黃色框框的內容

使用 git commit --amend -m "" 去做修改 -m 提供要修改的訊息
git commit --amend -m &quot;&quot;

來看看有沒有改成功 git log --oneline
git log --oneline
有欸~~~開勳。

但等等等等等,好像哪裡怪怪der~~~對,就是我們的識別碼也變嚕!雖然裡面內容都沒變,但會變成全新的commit紀錄:)

注意!!!這個指令只針對最後一次的 commit 有用喲!

注意!!! --amend 這個參數也有這個意思 -commit 後發現有幾個檔案忘了加入進去,想要補內容進去時

先看我的紀錄
commit 紀錄

然後新增完檔案後要加入剛剛的 commit 的時候
使用 git commit --amend --no-edit --no-edit 意指我不要編輯 commit 的'修改紀錄'
git commit --amend --no-edit

再看一次我們的紀錄
commit 紀錄
就完成嚕!

如果沒有使用 --no-edit會跑出下面這個 vim 的視窗!我研究了一下下覺得拿他沒轍QQ 所以一定要記得R
https://ithelp.ithome.com.tw/upload/images/20190917/201199231AJes9a2MG.png
--更多 vim 請看超簡明 Vim 操作介紹

如果怕使用錯,那就用 git reset 掉 commit 後,加入檔案後重新 commit 就好惹喲!


提交空目錄

這裡要說明 Git 是計算檔案內容der,所以如果要提交空目錄要這樣做~
touch 檔案名稱/.keep 提交空目錄
--耶耶可以惹ε٩(๑> ₃ <)۶з


看看都是誰幹了好事

使用 git blame 檔案名.副檔名 就可以很清楚地看到是誰何時幹了什麼
git blame 檔案名.副檔名 看看都是誰幹了好事
git blame 檔案名.副檔名 看看都是誰幹了好事

也可以使用 -L 來看哪幾行的 code
Ex. git blame -L 第幾行,第幾行 檔案名.副檔名 git blame -L 3,8 helloworld.html

git blame -L 第幾行,第幾行 檔案名.副檔名


用 rm 刪了某個檔案想救回來

如果只是單純用 rm 刪除了某個檔案如何救回來呢?
使用 git checkout 檔案名.副檔名就可以嚕! git checkout 好眼熟窩,沒有錯,在 Day12【Git與GitHub】工作狀態還原有示範過:)
git checkout 檔案名.副檔名
--如果想救回全部檔案只要輸入 git checkout . 就可以摟!

注意!這裡刪除使用的是 rm ,所以可以使用 git checkout 救回來喲!

如果要救回被 git rm 的檔案的話要先回到最近的 commit 紀錄,就可以看到你剛刪除的檔案嚕!
git reset commit識別碼

我就是在刪除檔案這邊腦袋打結的!!!一樣都是刪除檔案怎麼差這麼多?!

雖然都可以救回檔案,只是方法不一樣。 這裡我還不是很曉得原理,代我釐清後再來做更新吧(๑•́ ₃ •̀๑)


完成雜學惹!!!明天要進入分支的新世界惹,祝福我自己(ง๑ •̀_•́)ง
感覺雜學還會有幾篇R


上一篇
Day15【Git與GitHub】Git 雜學(一)
下一篇
Day17【Git與GitHub】git push 到 Github
系列文
Git與Github-30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言