git 回滚版本

Posted by wxianfeng Sun, 21 Aug 2011 16:28:00 GMT

git 版本出错了,如何回滚到之前某一个版本,思路是本地回滚到之前某个版本,然后把远程分支删除,然后以本地的回滚版本重新建立分支

#新建old_master分支做备份   
>git branch old_master   

#push到远程   
>git push origin old_master:old_master   

#本地仓库回退到某个版本   
>git reset --hard baeertasdasdvf

#删除远程的master分支   
>git push origin :master   

#重新创建master分支   
>git push origin master  

# 重新clone代码
>git clone git@192.168.10.201:xxx.git

Heroku Permission denied (publickey)

Posted by wxianfeng Tue, 08 Mar 2011 07:57:00 GMT

今天 push project 到 heroku ,可是怎么都出现下面这个错误:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

不解,push 到github 就没有问题, 网上搜了下 说是 publickey 问题 , 可是看了 heroku 上 和本地的 就是一样的 。。

wxianfeng@ubuntu:/usr/local/system/projects/git/fucklinode$ heroku keys
=== 1 key for wang.fl1429@gmail.com
ssh-dss AAAAB3NzaC...ZALatGdA== wang.fl1429@gmail.com

本地的

~/.ssh/id_rsa.pub 也是这个key

如果发现不一样的 可以 添加一个新的 key

>heroku keys:add  ~/.ssh/id_rsa.pub

更多关于keys的命令可以

>heroku help

继续研究,后来发现 heroku 找的 不是 id_rsa.pub ,而是 id_dsa.pub ,通过 ssh -v git@heroku.com 查出

>ssh -v git@heroku.com 
...
debug1: Trying private key: /home/wxianfeng/.ssh/id_dsa
...

好 , 那我就给你生成 dsa 加密的

>cd ~/.ssh
>rm -rf  *
>ssh-keygen -C "wang.fl1429@gmail.com" -t dsa   # rsa 加密的 -t rsa 即可

上传 key

>heroku keys:add ~/.ssh/id_dsa.pub

>git push heroku master 

就ok了

按照官方的教程 就应该是 id_rsa.pub , 之前也一直好好的,可是 今天 找的怎么是 id_dsa.pub 呢 , 如果你同样遇到这个问题,看看是不是 也是这里的问题 ….

SEE:
http://stackoverflow.com/questions/3481973/heroku-error-permission-denied-public-key
http://devcenter.heroku.com/articles/quickstart
http://help.github.com/troubleshooting-ssh/


windows 下 git + heroku 部署应用

Posted by wxianfeng Fri, 10 Apr 2009 17:53:00 GMT

环境:windows 7 + git + heroku + github

windows 下同样可以利用git版本控制,github.com 是一个很好的分布式 代码仓库,heruku 可以免费的 部署 ruby on rails 应用 , 哇塞 。。 。 多么爽的一件事,开始~!

上传代码到 github.com 上

1,windows 下借助 msysgit 来使用 git的 ,下载

http://code.google.com/p/msysgit/downloads/list

建议下载 portable(可携带) 版本,无需安装。

2,打开 git-bash.bat 文件,打开后就和 linux 上差不多 全部一样的 命令了

3,全局配置

git config --global user.name "wxianfeng" 
git config --global user.email wang.fl1429@gmail.com 

4,进入本地project

cd /e # 进入 E 盘
cd rails3_demo_app  # project root

5,到github.cm 新建一个 repo 为 rails3_demo_app

6,添加 本地文件 到 git 版本信息中

git init 
git add .
git commit -am 'import project' 
git remote add origin git@github.com:wxianfeng/rails3_demo_app.git 

至此 git 版本 信息添加完成

7,添加认证信息,为 提交代码做认证

ssh-keygen -C 'wang.fl1429@gmail.com' -t rsa

输入密码的话,每次提交代码会让你输密码 , 一路 enter 的话 ,则没有密码

找到刚才生成的密钥(id_rsa.pub)文件并用文本编辑器打开,然后复制里面的内容。接着转到github站点项目admin设置,找到”Deploy keys“选项后点击”add another deploy key“并将刚才复制的内容黏贴保存。

8,测试是否验证通过

SSH -v git@github.com

9,提交(PUSH)代码

git push origin master 

ok,你的代码已经push 到github 了

here

提示:在 msysgit bash 下 查看目录下文件 用 ls 命令

把这个project部署到heroku.com

1,安装 heroku gem

gem install heroku --no-ri --no-rdoc   # 缺什么装什么

2,

 heroku create rails3-demo-app   # heroku 会为你生成一个 rails3-demo-app.heroku.com 的网址 ,注意 name 不能用 _
git push heroku master
heroku rake db:migrate

ok,你的应用已经可以访问了:

here

注意:在部署 工程到 heroku的时候 ,不需要 git init 了 ,因为 工程已经 在 git 版本信息里了 ,我们只需要 git push heroku master 即可 , 以上步骤的操作 依然还是在 msysgit bash下

重命名heroku app name ,即 app 在heroku的 url

heroku rename newname

这样原来的地址就应该变成这样了:

newname.heroku.com

see:
http://hi.baidu.com/mcspring/blog/item/171b1e38986d39fab211c71b.html
http://docs.heroku.com/quickstart
http://docs.heroku.com/renaming-apps
http://blessdyb.javaeye.com/blog/781837
http://devcenter.heroku.com/articles/quickstart