![](/img/trans.png)
[英]How to “rename” a file in Git after already having moved it with bash/mv
[英]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-name
和git rm --cached old-name
。 git 不專門跟蹤重命名; 它們只是從一個名稱中刪除並以新名稱添加相同內容。
git rm --cached
告訴它不要抱怨您要求它刪除的文件不存在這一事實。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.