2

我尝试启动我的 localhost:3000 RoR 应用程序。终端发生了什么:

[omrails]$rails s
Gemfile syntax error:
<<<<<<< HEAD
^

我尝试在 Google 和 Stackoverflow 上搜索,但没有发现任何与我类似的问题。我认为 ny Gemfile 有问题,但我不知道到底是什么。

我的 Gemfile 看起来像这样:

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'bootstrap-sass'
gem 'devise'
gem 'omniauth'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'


group :development do
gem 'sqlite3'
end


# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails',   '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby

gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

group :production do
gem 'pg', '0.12.2'
end

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

有什么建议在我的 Gemfile 中可能有什么问题吗?如果您有任何其他问题或要求,请随时问我。

4

3 回答 3

5

本地区:

<<<<<<< HEAD
group :development do
gem 'sqlite3'
end
=======
# gem 'sqlite3'

>>>>>>> 154ef24b95ea600ced834457e146c2fb27a18156

是 git 合并冲突。它表示当前版本(HEAD)和您提取的另一个提交(154ef24b95ea600ced834457e146c2fb27a18156)都发生了变化。不同的文件内容显示在每个区域供您阅读。

当您遇到这样的冲突时(通常是通过运行git mergeor git rebase, or git pull),那么您应该在将冲突标记为已解决之前实际修复冲突。git add您可以通过查看由 分隔的两个区域=======并决定保留哪个区域来做到这一点。

有时您必须决定如何将两者合并为一个来完成这两个更改所做的事情,但在这种情况下,您可能只想丢弃被注释掉的部分。如果你修剪以 开头的线,以及和线<<<<<<<之间的所有内容,包括在内,那么你应该很高兴。 ========>>>>>>>>

一般来说,学习 git merge 和 rebase 过程可能不会有什么坏处——它们很强大,但如果你不熟悉,可能会有点复杂。

于 2012-11-28T00:47:44.780 回答
1

您已经提交了 Git 中合并冲突的结果。

您需要删除这些行,并特别注意确保代码符合您的预期。

<<<<<<< HEAD
group :development do
gem 'sqlite3'
end
=======
# gem 'sqlite3'

>>>>>>> 154ef24b95ea600ced834457e146c2fb27a18156

您可以查看当前的HEAD内容以及154ef24b合并时的内容。通过删除冲突标记并保留/修改任一侧的块来选择您希望如何解决它。

于 2012-11-28T00:39:28.390 回答
0

正如亚历克斯所说,您已经在 git 中提交了合并冲突的结果。当他说要​​密切注意代码是您所期望的时,您需要更多关于他的意思的详细信息。您不想只删除冲突标记(<<<<<<、========== 和 >>>>>>>>>>>),您需要实际解决冲突。

HEAD进行合并时有以下内容:

group :development do  
gem 'sqlite3'
end

在包含您在 ( ) 中合并的提交的分支中,154ef24b95您有:

# gem 'sqlite3'

这(似乎)意味着合并完成HEAD时在开发中使用 sqlite 并且提交154ef24b95决定不这样做。您肯定想在此处确定您的项目中实际需要的版本。不要只是删除冲突标记。

于 2012-11-28T00:47:30.680 回答