2011-04-28 41 views
4

我讀過的MV命令是基本相同的git:mv命令

$ mv README.txt README 
$ git rm README.txt 
$ git add README 

只是可以肯定,它是完全一樣的,如果我做這種方式:

$ git rm --cached README.txt 
# [rename file using right click rename] 
$ git add README 
+0

有人告訴我有一天:你是否認爲接受這個答案中的一個是正確的,或者給出你真正想要的更多細節,以便我們可以改進我們,並獲得新聞? – 2011-04-30 11:38:20

+0

@Gabriel L. Oliveira我在答案的答案中增加了更多詳細信息.. – Pacerier 2011-05-01 00:00:57

回答

5

編號爲--cached的參數建議當你想要的是取消和刪除路徑(在這種情況下,README.txt)只能從索引。工作樹文件,無論是否修改,都將被單獨保留。

在這種情況下,重命名文件的更好方法是使用git的內置命令mv。因此:

$ git mv README.txt README 

與您第一次接近的效果相同,但使用較少的類型。

字體:http://www.kernel.org/pub/software/scm/git/docs/git-rm.html

+1

heys對不起,我沒有真正明白你說的是什麼意思,當你說**工作樹文件** .. – Pacerier 2011-04-30 23:57:32

+0

btw你的意思是說實際上兩者都是相同的,但是依賴於目的而推薦使用1(儘管任何選擇都會使文件以完全相同的狀態結束?) – Pacerier 2011-04-30 23:58:41

+1

@Pacerier「工作樹文件」意味着您的真實文件(保存在你的硬盤)。當你使用'git rm'時,git真的會從你的磁盤中刪除文件,而使用'git rm --cached'只會從索引中刪除文件(提交的HEAD),將文件(修改與否) hardisk。 我的意思是,不使用這兩種解決方案,使用'git mv'是更好的選擇,因爲用一個命令做你想做的事情。另外,讓git樹知道它是一種移動(重命名,無論),而不是一個「全新的文件」。得到它了? – 2011-05-02 08:30:12

3

git mv records move?

這是相同的。

+0

我讀過鏈接,但它並沒有告訴我,我的第一選擇是否與我在問題中的第二選擇一樣。 – Pacerier 2011-05-01 00:00:23