作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个包含大量 sass 文件的项目,这些文件被编译成一个大的 style.css
问题是这个style.css
在 merge 的时候总是出问题,但是我们还是希望把它的最新版本推送到服务器上。我最终做的是 - 在与 master merge 时删除我的本地 style.css
文件,然后再次编译 sass,然后才将所有内容推送到远程。
如何在 merge 时忽略特定文件,但在推送 master 分支时仍将其推送到远程?
编辑:基本上我总是希望我的这个文件的版本覆盖 master 分支上的那个而不会引起冲突,并且其余文件像往常一样 merge 。
最佳答案
编辑:您可能想要这样做:
[(*) code and commit]
[don't commit your style.css!]
$ git checkout -- public/style.css # erase your own style.css
$ git pull
[merge if necessary]
[re-generate your style.css] # important!
git commit public/style.css -m "your message here"
git push origin # should be OK.
[go to (*) and go on coding]
我认为有几种方法可以实现这一目标。
style.css
可能不会被 git 跟踪,因为它会再次生成。public/
目录。在这种情况下,您将不必跟踪此 style.css
。git cherry pick
merge 和覆盖特定文件。style.css
?如果不是,请为您的 style.css
维护一个单独的分支,忽略 master
中的 CSS,style.css
的分支将包含一个包含 !style.css
的公共(public)目录中的特定 .gitignore
。因此,该特定分支将只有 2 个文件,您会自动在其中 merge master。关于Git - 在 merge 时忽略文件但仍将其推送到远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26507788/
我是一名优秀的程序员,十分优秀!