我已经在存储库远程中使用capistrano进行了部署。
我是git的新手。
现在我想用git更新一些文件并更新我的网站......等等,因为如果我运行新的部署,capistrano会更慢。
对于远程存储库中的更新文件,我已经完成了以下步骤:
1º
git add .
2º
git commit -a -m "changes made"
3º
git push origin master
4º
git pull origin master
但是,如果我在远程存储库中看到文件尚未进行更改 :(。
在最后一步我在控制台中得到了这个结果:
ubuntu@ubuntu:~/Desktop/project$ git pull origin master
user@ip.ip.ip.ip's password:
From ip.ip.ip.ip:~/project
* branch master -> FETCH_HEAD
Already up-to-date.
在第3步之后我得到:
git push origin master
user@ip.ip.ip.ip's password:
Counting objects: 110, done.
Compressing objects: 100% (57/57), done.
Writing objects: 100% (71/71), 447.59 KiB, done.
Total 71 (delta 30), reused 0 (delta 0)
To user@ip.ip.ip.ip:~/project
33b8849..769d87d master -> master
我有2个目录project
和project.com
:
第一个是 project
,在此目录中是进行新更改的位置。
此目录有branches config description HEAD hooks info objects refs
第二个目录 project.com
是我的域名文件夹,在这个目录中我有2个目录:
current
, releases
和 shared
内部发布目录是我的发布项目,通过capistrano部署,目录如下:
20120323164859
并且在 current
里面我有我的rails 3.1 app。
我想查看此目录中所做的更改。
deploy.rb
$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) # Add RVM's lib directory to the load pathe
require "rvm/capistrano" # Load RVM's capistrano plugin.
require "bundler/capistrano"
set :rvm_ruby_string, 'ruby-1.9.2-p318@global'
set :rvm_type, :user
set :application, "project.com"
set :user, 'user'
set :repository, "#{user}@ip.ip.ip.ip:~/project"
set :scm, :git
set :use_sudo, false
set :keep_releases, 2
set :deploy_to, "~/#{application}"
set :deploy_via, :copy
role :web, "ip.ip.ip.ip" # Your HTTP server, Apache/etc
role :app, "ip.ip.ip.ip" # This may be the same as your `Web` server
role :db, "ip.ip.ip.ip", :primary => true # This is where Rails migrations will run
load 'deploy/assets'
我做错了什么?
谢谢!
答案 0 :(得分:2)
远程回购是否是任何机会的实际工作副本? Git不会(很容易,默认情况下)推入并更新远程工作副本。你应该总是推到裸仓。
修改强>
因此,您的实际存储库位于project
,这是一个裸存储库,它是您推送的地方。进入此目录并执行git log
,假设您的原点设置正确,您将看到更改。
要将更改纳入releases
中的某个工作副本,您需要:
git pull origin [branchname]
答案 1 :(得分:0)
我不明白你的问题。你是什么意思“尚未做出改变”?你只是推动了你的更改,因此当你拉动时,什么都不会发生,你已经有了最新的代码。