由于外部奇怪的约束,我无法修改.gitignore我的存储库.有没有办法忽略文件和目录,而不是修改.gitignore?即使它是全局配置的全局解决方案,也将应用于我的所有存储库.
我在我的git repo中有一个tmp目录我想仍然存在,但是被忽略了.我添加了它.gitignore,但git status仍然告诉我有关该目录中文件的更改.我试过了git rm -r --cached,但是它将它从远程仓库中删除了.如何停止跟踪对此目录的更改,但仍然允许它存在?我还需要1个文件做到这一点,但变化是,在也出现git status之后.gitignore荷兰国际集团他们.我该怎么办?
git 1.7.12
我想将给定目录下的所有文件标记为假设未更改.
1)git update-index --assume-unchaged dir/给出"忽略路径".
2)git update-index --assume-unchaged dir/*快速失败,因为它会遇到未被跟踪的文件,因此它给出"致命:无法标记文件"并退出.
3)尝试生成要标记的文件列表. cd进入所需目录然后运行git ls-files | tr '\n' ' ' | git update-index --assume-unchanged.这不会产生任何错误消息,但不会成功标记文件.命令的第一部分git ls-files | tr '\n' ' '正确生成了我要标记的所有文件的空格分隔列表.如果我将该命令的输出复制并粘贴到命令行,则该git update-index命令有效.什么不使用管道?
不,我添加dir到.gitignore 是不够的.我需要将这些文件放在存储库中,但是需要在本地进行不需要的更改,以便用户可以进行拉取.
我想使用Github Pages发布一个生产网站(例如,www.example.com)以及同一网站的暂存版本(例如,staging.example.com).
我在Github中为生产站点设置了一个repo(例如my-jekyll-website),创建了一个gh-pages分支,并将repo的根级别的CNAME文件设置为www.example.com.效果很好.
现在,能够将更改推送到staging.example.com的最痛苦的方法是什么?
我尝试过的一件事是在Github上设置第二个远程仓库(例如my-jekyll-website-staging),然后将其作为远程添加到我的本地git配置中.效果很好,除了需要将repo中的CNAME文件更改为staging.example.com才能使其正常工作.这不好,因为当我想部署到生产时,我需要将CNAME文件更改回www.example.com.不理想.
我已经看过使用git 过滤器内容驱动程序,但如果我理解正确,那就是在本地修改文件,而不是将不同版本的文件推送到不同的遥控器.
编辑:我还考虑过根本不使用自定义域进行暂存:即,只使用username.github.io/my-jekyll-website-staging.不幸的是,然后我的站点根目录相对链接(例如/images/foo.bar)中断了,因为baseurl现在在生产和登台之间是不同的.