我是Git的新手,我正在使用它来备份我正在处理的iPhone项目.我在更新时添加了Git应该忽略的文件列表(xcode文件),但是当我去提交更改时,这个.perspectivev3(在我的.gitignore中)文件会一直显示.有谁知道这是为什么,或者我做错了什么?
谢谢,
扎克
这是我的.gitignore文件中的内容:
# xcode noise
*.mode1v3
*.pbxuser
*.perspective
*.perspectivev3
*.pyc
*~.nib/
build/*
# Textmate - if you build your xcode projects with it
*.tm_build_errors
# old skool
.svn
# osx noise
.DS_Store
profile
Run Code Online (Sandbox Code Playgroud)
您可以使用
$ git rm --cached ./whatever1.txtRun Code Online (Sandbox Code Playgroud)
在事情已经受版本控制之后.
事实上,如果您在版本控制下有"whatever1.txt"并且想要从git中删除它,但是让您的工作树不受干扰,那么只需执行以下操作:
$ git rm --cached ./whatever1.txt
$ echo /whatever1.txt >> ${PROJECT_ROOT}/.gitignore
$ git status # this will now show ./whatever1 as "deleted" (from git, not your working tree, and will show gitignore as modified or created)
$ git commit -a
Run Code Online (Sandbox Code Playgroud)
就是这样.
只能使用
$ git rmRun Code Online (Sandbox Code Playgroud)
当你想从工作树和 git repo中删除文件时.
CAVEAT:您可能使用此方法的方案是从git中删除特定于IDE的文件.在此示例中,"whatever1"表示您要删除的IDE文件.如果您正在处理一个包含多个人的项目,并且您将此变更集推送到共享仓库,那么当他们提取此变更集时,他们的"./whatever1"文件将被删除.对于接收端的人来说,这里很容易做到的事情是:
$ git checkout 1215ef -- ./file-you-want-to-restore ./another-file ./another-etc
Run Code Online (Sandbox Code Playgroud)
(其中1215ef表示删除前的最后一次提交)
这具有恢复在拉动之前最后一次提交时出现的那些文件的效果.完成后,这些文件将是安全的,并且不会显示为未提交的b/c,它们将被排除在gitignore之外.
祝好运!
| 归档时间: |
|
| 查看次数: |
8177 次 |
| 最近记录: |