Bash
在儲存庫中使用 Git 版本的 mv/rm 等
Git 有自己的命令版本,例如
mv
我們rm
在儲存庫中執行這些操作時真正應該使用的命令版本。但是,我確信我不是唯一經常忘記這樣做的人。
在 git 儲存庫中操作時,有什麼方法可以自動使用這些工具?
我對
bash
,zsh
或中的任何一個的答案感興趣fish
。
我建議你有一些 git rev-parse 的 myrm / mymv 腳本,以便檢測你是否在 repo 內並採取相應的行動。就像是 :
ingitr="$(git rev-parse --is-inside-work-tree 2>/dev/null)" if [ "$ingitr" ] then git rm $1 ( git mv $1 $2 ) else rm $1 ( mv $1 $2 ) fi
當然,這是一個起點。為了照顧選項,它當然應該得到增強。
但是,我從評論中讀到……您不應該這樣。(我會在壓力下刪除這個答案…… ;-)
git mv
做與正常不同的事情,mv
並且在很大程度上不是替代品。例如,它不會作用於未跟踪的文件:
touch foo git mv foo bar
印刷
致命:不受版本控制,source=foo,destination=bar
並拒絕移動文件。類似的事情適用於其他命令。它們是使用 git的工具,因此使用這些命令而不是正常的作業系統版本不是一個好主意。
Git 有自己的命令版本,例如 mv 和 rm,我們在儲存庫中執行這些操作時確實應該使用它們
你不應該。