如果我想要合并到Git分支中,那么只对某个特定提交中更改的某些文件进行了更改,其中包括对多个文件的更改,如何实现?
假设git的承诺称为stuff
具有对文件的改变A
,B
,C
,和D
,但我想只合并stuff
的对文件的更改A
和B
.这听起来像是一项工作,git cherry-pick
但cherry-pick
只知道如何合并整个提交,而不是文件的子集.
Heroku有一个忽略所有分支但是"主人"的政策.
虽然我确信Heroku的设计师有很好的理由来制定这个政策(我猜测存储和性能优化),但作为开发人员,我的后果是无论我在做什么本地主题分支,我都想要一个简单的方法将Heroku的主人切换到该本地主题分支并执行"git push heroku -f"以覆盖Heroku上的master.
我从阅读http://progit.org/book/ch9-5.html的"Pushing Refspecs"部分得到的是
git push -f heroku local-topic-branch:refs/heads/master
我真正喜欢的是一种在配置文件中设置它的方法,以便"git push heroku"始终执行上述操作,将local-topic-branch替换为我当前分支的名称.如果有人知道如何做到这一点,请告诉我!
当然,需要注意的是,如果我是唯一可以推送到Heroku应用程序/存储库的人,那么这只是明智的.测试或QA团队可能会管理这样的存储库来尝试不同的候选分支,但是他们必须进行协调,以便他们在任何特定的日子都同意他们推动的分支.
毋庸置疑,拥有一个单独的远程存储库(如GitHub)也是一个非常好的主意,没有这个限制来支持所有内容.我称之为"原点"并使用"heroku"用于Heroku,以便"git push"始终将所有内容备份到源,并且"git push heroku"将我当前所有的分支推送到Heroku的主分支,覆盖它如有必要.
这会有用吗?
[remote "heroku"] url = git@heroku.com:my-app.git push = +refs/heads/*:refs/heads/master
在开始实验之前,我想听听更有经验的人,虽然我想我可以在Heroku上创建一个虚拟应用程序并进行实验.
至于提取,我真的不在乎Heroku存储库是否是只写的.我还有一个单独的存储库,比如GitHub,用于备份和克隆我的所有工作.
脚注:这个问题与使用Heroku的分支策略的Good Git部署类似,但不完全相同?
我在Heroku上有一个运行旧代码的应用程序.我做了一个小小的改变,并做出了改变.然后我跑了
git push heroku master
Run Code Online (Sandbox Code Playgroud)
它会说
Fetching repository, done.
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)
但是,如果我去查看应用程序,那就是所有旧代码.大约15天前,我确实将网站恢复到Heroku中的另一个版本,但从那以后推送更新到它们并且它们起作用了.
为什么heroku没有从我的github存储库中获取最新文件?有没有办法只重置应用程序并再次从github推送文件?我在数据库中有生产数据,所以我不想触摸它.
提前致谢!!
在此之前,请注意我在Stack Overflow和网络上的文章中发现了几个类似的问题,但这些都没有帮助我解决我的问题:
现在,问题在于:
master
和一个mvp
分支机构.git
用Homebrew(Mac)更新了我的版本.现在,当我尝试在本地启动应用程序时,出现以下错误:
PG::ConnectionBad at /
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
我试图多次重启计算机.
我还检查了以下内容/usr/local/var/postgres
:
PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf
base …
Run Code Online (Sandbox Code Playgroud) ruby postgresql ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我的服务器运行正常,但当我尝试通过rails c进入控制台时,我收到此错误.
/home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/runtime.rb:34:in `block in setup': You have already activated spring 1.4.0, but your Gemfile requires spring 1.3.3. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/runtime.rb:19:in `setup'
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup'
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/setup.rb:8:in `<top (required)>'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/commands.rb:33:in `<module:Spring>'
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/commands.rb:4:in `<top (required)>'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/server.rb:9:in `<top (required)>'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
Run Code Online (Sandbox Code Playgroud)
我的Gemfile.lock如下
GIT
remote: git://github.com/rails-api/active_model_serializers.git
revision: 1f08865a10bb06648efc170768c8c9937d441f45
specs:
active_model_serializers …
Run Code Online (Sandbox Code Playgroud) 如果我输入我的控制台
u = User.first
u.friends(&map:username)
Run Code Online (Sandbox Code Playgroud)
我知道,["Peter", "Mary", "Jane"]
但我也想表现生日,那我该怎么做?我试过了
u.friends(&map:username, &map:birthday)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我在我的Rails 4应用程序中使用ckeditor gem .在本地和我的stoku heroku环境中,一切都很好用,但是在推动生产环境时我遇到了这个错误:
GET http://myapp.herokuapp.com/assets/ckeditor/contents.css 404 (Not Found)
GET http://myapp.herokuapp.com/assets/ckeditor/skins/moono/icons.png 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)
编辑器显示良好,但缺少所有图标.
我按照自述文件(https://github.com/galetahub/ckeditor),但我可能错过了一些东西.
这是我的步骤:
1)宝石安装,生成等......
2)config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
在application.js中
3)mount Ckeditor::Engine => "/ckeditor"
在routes.rb(我不明白为什么)
4)在application.js中
//= require ckeditor/override
//= require ckeditor/init
Run Code Online (Sandbox Code Playgroud)
这究竟是做什么的,为什么需要覆盖呢?(这些文件位于何处,因为没有/app/assets
,但/lib/assets
两者都没有/vendor/assets
)
Heroku是只读的,因此我不能像教程中所解释的那样运行rake任务.我认为这就是我在生产模式中得到错误的原因.
有人遇到过同样的问题吗?我浏览了所有stackoverflow问题,但到目前为止还没有解决我的问题.
更新:
我发现让它工作的唯一方法是实时编译:config.assets.compile = true
但我不想在生产中使用它,我不明白它为什么会起作用.
heroku production-environment ckeditor asset-pipeline ruby-on-rails-4
$ bundle install
Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/Sean/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.3/ext/gem_make.out
An error occurred while installing eventmachine (1.0.3), and Bundler cannot
continue.
Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)
$ gem list
eventmachine (1.0.3 x86-mingw32)
Run Code Online (Sandbox Code Playgroud)
$ gem build eventmachine -v 1.0.3
ERROR: While executing gem ... (Gem::CommandLineError)
Too many gem names (eventmachine, 1.0.3); please specify only one
Run Code Online (Sandbox Code Playgroud) 我怎么能做到这一点?
<% for agent in @broker.agents %>
...
<% if agent.cell %><span class="cell-number">Cell: <%= agent.cell %></span><% end %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
我想测试代理是否有一个单元格编号,如果是,则显示条件内的内容.我目前所做的似乎不起作用; 它只显示"Cell:".
思考?
ruby ×6
git ×3
github ×3
heroku ×3
git-push ×2
push ×2
activerecord ×1
bundler ×1
cherry-pick ×1
ckeditor ×1
database ×1
eventmachine ×1
gemfile ×1
gemfile.lock ×1
postgresql ×1
random ×1
rubygems ×1