我必须从远程git存储库获取最新的git标记.我使用以下命令来查找最新的标签
git ls-remote --tags xxxxx@xxxx.xxxx.net:xxxx.git |grep "\."|grep -v -|grep -v {| sort -n -t. -k3 -k4
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
c8be4313ae8261214acb6d3d41f9ece8d47a4ad5 refs/tags/v0.2.1
9e776cff51a8bb15f0539b852a819723d1e37c69 refs/tags/v0.2.2
ee1f173f4e7da0996af9f7c91e0952bec8c2358b refs/tags/v0.1.3
5d6777bf2b2e5bae41ae9ab966320c691c1f2ee2 refs/tags/v0.1.4
6d3040673330ed763bc0c1a6e6cd5dbc82392d4f refs/tags/v0.1.5
4afd29dc48805053be911a85c6da6b195e96e786 refs/tags/v0.1.6
8d5cc76d50b153f836561bb933b1f5ad488748d1 refs/tags/v0.1.7
1c0cdebaed828aaef2897c9240b4440898f70766 refs/tags/v0.1.8
683de590ba8d633c801d2628f4d9de58f9de371a refs/tags/v0.1.9
925797f07cfc94a3af1f56cdabd856e11b222b78 refs/tags/v0.1.10
Run Code Online (Sandbox Code Playgroud)
但我必须找到 最新创建的v0.2.2.如何找到最新创建的标签(带有最新创建日期的标签).还有其他办法吗?
我的数据库中有request_type作为数组字段。为此我在迁移后做了
def change
change_column :users, :request_type, :string, array: true, default: '{}'
end
Run Code Online (Sandbox Code Playgroud)
我从这个问题得到的。
我还添加serialize到模型文件中。
class User < ActiveRecord::Base
belongs_to :client
serialize :request_type, Array
self.per_page = 15
end
Run Code Online (Sandbox Code Playgroud)
用户可以执行许多请求,我尝试以这种格式存储在他们的记录中:
request_type: {"Discount", "Offer", "other options"}
Run Code Online (Sandbox Code Playgroud)
我也尝试从控制台更新它们,但它也不起作用。
a.request_type.push("offer")
Run Code Online (Sandbox Code Playgroud)
出现NoMethodError: undefined method push' for "[]":String错误。
当我尝试添加项目时
a.request_type << "Offer"
Run Code Online (Sandbox Code Playgroud)
该值变为"[]Offer"
我知道它存储为字符串,那么如何更新该字段?
我使用的是rails 4、ruby 2.2.2、mysql。
编辑堆栈跟踪
2.2.2 :016 > a = User.last
User Load (0.4ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` DESC LIMIT 1 …Run Code Online (Sandbox Code Playgroud)