reference:
http://www.cnblogs.com/xingzhi/archive/2011/09/30/2196214.html
http://nvie.com/posts/a-successful-git-branching-model/
回退到某个版本,放弃这个版本之后的commit
git reset f0ad346f8b000add810fd7a6f986c8e813b36a41
放弃最近一次的commit:
git reset –soft HEAD1
- 远程仓库相关命令
检出仓库:$ 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
- 分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch name —-注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout name
创建新分支并立即切换到新分支:$ git checkout -b name
删除分支:$ git branch -d name —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge name —-将名称为name的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin name
删除远程分支:$ git push origin :heads/name
- 版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag name
删除版本:$ git tag -d name
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin name
删除远程版本:$ git push origin :refs/tags/name
- 子模块(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) 手动删除子模块残留的目录
- 忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
.db