Jul 01

在网上看到的Git的常用的命令,比我收集的要齐全就转过来了,以备不时之需。
转自:http://rongjih.blog.163.com/blog/static/335744612010112562833316/

1. 远程仓库相关命令
检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url –push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]

提交本地test分支作为远程的master分支:$ git push origin test:master
提交本地test分支作为远程的test分支:$ git push origin test:test

2. 分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r (如果还是看不到就先 git fetch origin 先)
创建本地分支:$ git branch [name] —注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
直接检出远程分支:$ git checkout -b [name] [remoteName] (如:git checkout -b myNewBranch origin/dragon)
删除分支:$ git branch -d [name] — -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。
强制删除分支:$ git branch -D [name]
合并分支:$ git merge [name] —将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name] 或 $ git push origin :[name]

* 创建空的分支:(执行命令之前记得先提交你当前分支的修改,否则会被强制删干净)
$ git symbolic-ref HEAD refs/heads/[name]
$ rm .git/index
$ git clean -fdx

3. 版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin –tags
上传本地tag到远程仓库:$ git push origin –tags
创建带注释的tag:$ git tag -a [name] -m ‘yourMessage’

4. 子模块(submodule)相关操作命令
添加子模块:$ git submodule add [url] [path]
如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:$ git submodule init —只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update —每次更新或切换分支后都需要运行一下
删除子模块:(分4步走)
1) $ git rm –cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“ .git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
5) 忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db

Mar 31

Heroku是支持语言最多的云平台之一,官方没有公开提示可以支持PHP语言,但是有大牛已经试验过了,可以在这个云平台上安装Wordpress,过程稍稍有点麻烦,但是Heroku提供5Mb的数据库,考虑到云平台的安全性,而且可以绑定域名,所以用来写写博客还是不错的选择。下面就将具体的步骤记录下来,以备不时之需。

(1).在Heroku注册账号
Heroku的官方网站是https://heroku.com/,注册过程很简单,在这里就不详细记述了,建议使用国外的邮箱注册,国内的邮箱可能收不到验证邮件。

(2).安装heroku toolbelt
登陆https://toolbelt.herokuapp.com/,有三种平台Mac OSX、Windows、Debian/Ubuntu可供选择,由于我使用的是XP系统,所以我就下载Windows平台下的heroku toolbelt。安装完成后可以一并将Rails和Git安装了。

(3).下载Wordpress软件和PostgreSQL for WordPress插件
到http://wordpress.org/下载最新的软件包和PostgreSQL for WordPress (PG4WP)并解压,将pg4wp文件夹放到wordpress/wp-content/文件夹下,然后再将pg4wp文件夹里面的db.php文件复制到wordpress/wp-content/文件夹下。因为Wordpress需要MYSQL数据库,但是Heroku提供的是PostgreSQL数据库,所以需要使用PostgreSQL for WordPress (PG4WP)插件。复制配置文件wordpress/wp-config-sample.php文件为wordpress/wp-config.php,并修改数据库账号、密码等信息。将wp-config.php中的代码

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

修改为

// ** MySQL settings - You can get this info from your web host ** //
$db = parse_url($_ENV["DATABASE_URL"]);

/** The name of the database for WordPress */
define('DB_NAME', trim($db["path"],'/'));

/** MySQL database username */
define('DB_USER', $db["user"]);

/** MySQL database password */
define('DB_PASSWORD', $db["pass"]);

/** MySQL hostname */
define('DB_HOST', $db["host"]);

修改完成后保存退出。

(4).生成public key
进入wordpress文件夹,在DOS命令行下输入命令生成public key。

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/adam/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/adam/.ssh/id_rsa.
Your public key has been saved in /Users/adam/.ssh/id_rsa.pub.
The key fingerprint is:
a6:88:0a:0b:74:90:c6:e9:d5:49:d6:e3:04:d5:6c:3e adam@workstation.local

如果以前没有生成public key,只需要默认下一步就可以了,如果以前有现成的可以不生成。

(5).登陆Heroku账号
在DOS命令行下输入命令:

heroku login
Enter your Heroku credentials.
Email: adam@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub

输入账号和密码登陆后,会将在前面的步骤中生成的public key上传到Heroku中。
如果没有上传成功可以手动添加,命令为:

heroku keys:add
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub

删除public key的命令为:

heroku keys:remove adam@workstation.local
Key adam@workstation.local removed.

查看public key的命令为:

heroku keys
=== 1 key for joe@example.com
ssh-dss AAAAB8NzaC...DVj3R4Ww== joe@workstation.local

(6).新建Heroku Apps账户
Heroku平台支持三种类型:Aspen、Bamboo和Cedar。其中Aspen、Bamboo只支持Ruby,而且操作系统不同。而Cedar则比较新,支持PHP,所以我们需要选用Cedar平台。

在DOS命令下输入命令:

heroku create --stack cedar

这是会生成一个随机的Heroku Apps账户,如果你需要生成自己的喜欢的账号就需要使用-app参数,具体命令如下:

heroku create --stack cedar -app yourappsname

这是生成的账号的地址为http://****.herokuapp.com/,如果选择是Aspen、Bamboo,则会生成http://****.heroku.com/的地址。

(7).上传Wordpress源文件
DOS命令下切换到wordpress源代码所在的地址,一次输入以下的命令:

git init
git add .
git commit -m "init"

然后将源文件推送到Heroku服务器,使用如下的命令:

git push heroku master

(8).完成Wordpress的安装
按照Wordpress正常的安装流程完成安装。

(9).绑定域名
这一步还是需要在DOS命令下完成。绑定域名的命令如下:

heroku domains:add www.example.com
Added www.example.com as a custom domain name to myapp.heroku.com

删除一定绑定的域名的命令如下:

heroku domains:remove www.example.com
Removed www.example.com as a custom domain name to myapp.heroku.com

如果需要将所有绑定的域名一次性全部删除咋可以使用下面的命令:

heroku domains:clear
Removed all domain names for myapp.heroku.com

如果要绑定裸域名,这需要在DNS解析服务器上使用A记录,Heroku提供了三个可以使用的ip可供绑定:

75.101.163.44
75.101.145.87
174.129.212.2

如果不需要绑定裸域名而绑定二级域名的话,使用CNAME记录就可以了,只需要将www.example.com指向myapp.herokuapp.com就可以了。

最后提醒一下,Heroku不能在线安装插件和皮肤,所以需要事先将需要安装的皮肤和插件到放到指定的文件夹里面,然后推送安装。如果需要更新Wordpress,也需要下载最新的Wordpress最新的源代码然后再推送到Heroku服务器。

Jul 10

1. 产生public key的命令:
$ ssh-keygen -t rsa -C “youremail@gmail.com”   #替换成自己的email地址
$ ssh git@github.com   #测试连接,如果提示“successfully authenticated”就表示key添加成功了
将命令行的起始路径改成D:My DocumentsHome,方便以后的备份和管理。

Git常用操作
1.添加文件后提交
git add .
git commit -m “some comments”
2.交互式添加文件
git add -i
输入空回车后,结束添加
3.提交所有新增文件或修改
git commit -a -m “some comments”
4.重新获得库中被管理的文件
git checkout -f
5.合并本地库中的修改到远程
git push origin master
6.删除文件后提交
git rm [some file name]
git commit -m ‘some comments’
7.基于远程先有的库进行操作
git clone git@github.com:larrytang/miscs.git
git add [...]   添加文件
git commit -m ‘some comments’
git push origin master
8.本地分支的创建和操作
git branch local
git checkout local   切换到local分支
在local分支上开发后与master分支合并
git checkout master
git merge local
git branch -d local   合并后删除local分支
9.远程分支操作
默认的远程分支是origin
git remote add origin git@github.com:larryt/miscs.git
删除远程分支
git remote rm origin