我和我的朋友选择使用git和GitHub在项目上进行协作。我们都很新。配置文件已经在远程git仓库中。想要取消但不删除。怎么样?
我的朋友用他包含的项目配置文件版本初步提交了我们的项目文件。我的配置文件将会不同。我们不希望来回发送这些文件的更改。
我已经发布git init
和git pull [email protected]:my_friend/our_repository.git master
将我们的项目文件放到我的开发服务器上。
然后我创建了一个.gitignore
文件在项目的根我的dev的服务器(这里我做git init
):
# this is .gitignore in the project's root directory
index.php
config/some_config_file.php
config/another_config_file.php
由于这些配置文件已经在仓库中,在.gitignore
这些线路不会做任何事。我明白这一点。其他SO答案已经建议这些命令:
git rm --cached index.php
git rm --cached config/some_config_file.php
git rm --cached config/another_config_file.php
git commit -m "hope this works"
git push
但这个删除这些文件在远程GitHub的仓库!不好。我希望这些文件保留在GitHub上,因此它不会报警我的朋友。 我只想在我的开发服务器上保留我自己的未版本的文件副本,与GitHub存储库中正在进行的任何操作无关。
我该如何用git实现这个设置?
谢谢!这工作很好。顺便说一句,在google搜索之后,我发现'git ls-files -v | grep^[a-z]'会告诉你哪些文件已经被这样设置。这里有更多的信息,包括'〜/ .gitconfig'的两个别名:http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html – markplindsay
' - 放弃 - 不变'技术是一个好的一个,只要你意识到这些问题,比如在切换分支和合并提交文件的位置发生变化时(参见文档)。 –
@Sri:非常有效的一点!无论何时使用上游版本更新本地回购,并且该文件已更改,都必须手动处理。如果有问题的文件经常更改,这可能很烦人。 – jweyrich