从远程仓库中删除已提交的文件,但将其保留在本地

时间:2016-04-13 10:15:03

标签: git gitignore

我的中央远程存储库中有一些文件。我过去曾经做过那些。它们不再需要被跟踪。我将它们添加到我的.gitignore文件中。但我仍然需要他们在我的本地仓库,我的本地网站。

我需要做些什么,才能将它们从远程存储库中取出,但仍将它们保存在我的本地存储库中?

1 个答案:

答案 0 :(得分:1)

[被修改]

你必须使用git rm --cached foo.txt从git中删除它们。这将在回购中将它们标记为已删除,但不会在物理上删除它们。

所以,这是一个完整的打印出来:

master!git> git status
On branch master
nothing to commit, working directory clean
master!git> ls -la
total 0
drwxr-xr-x   4 creynder  staff   136 Apr 13 13:14 .
drwxr-xr-x@ 52 creynder  staff  1768 Apr 13 13:14 ..
drwxr-xr-x  12 creynder  staff   408 Apr 13 13:14 .git
-rw-r--r--   1 creynder  staff     0 Apr 13 13:14 foo.txt
master!git> git rm --cached foo.txt
rm 'foo.txt'
master!git *> git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    foo.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    foo.txt

master!git *> git commit -m 'Delete foo.txt'

然后将“foo.txt”添加到.gitignore。