簡體   English   中英

是否可以在執行常規 mv 后重命名 git 文件?

[英]Is it possible to rename a git file after doing a regular mv?

我在 git 存儲庫中重命名了一些文件,但我忘記使用git mv重命名這些文件。 我想讓我的提交反映重命名的文件,而不是顯示對 repo 的刪除和添加。 有可能做這樣的事情嗎?

或者我是否必須創建一種使用mv將文件移回原始名稱的宏,然后git mv再次重命名它,如下所示:

function fixmv() { mv $2 $1 && git mv $1 $2 }

如果有使用 git 的內置方法,我很想聽聽。

大約三年前,我編寫了一個腳本來執行此操作- git-mv-after ,被調用為git mv-after a la hg mv --after - 但你真正需要做的就是運行git add old-name new-name

(我的腳本非常漂亮,因為它會進行大量檢查以確保重命名是安全的。)

我確實認為git mv應該包含一個--after標志,這樣 Git 就不會故意比 Mercurial 笨。 :-) 但它很小。

是的; 簡單的方法是運行git add new-namegit rm --cached old-name git 不專門跟蹤重命名; 它們只是從一個名稱中刪除並以新名稱添加相同內容。
git rm --cached告訴它不要抱怨您要求它刪除的文件不存在這一事實。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM