1.git diff 比较不同
git diff // 工作区与暂存区比较
git diff HEAD -- 文件名 //比较工作区与版本库的区别
git diff --staged // 暂存区与版本库的比较
2. git log 日志
git log
git log --pretty=oneline // 显示一行 , full,short,fuller
git log --graph
git log --graph
git log --graph --pretty=oneline --abbrev-commit
git reflog
git log -p // 显示修改
git log --stat //显示变动行数
git log --pretty=format:"%h %s" --graph
3. git 回撤
git reset --hard HEAD^ // 回退到上个版本, HEAD^^ 上上个版本, HEAD~100 网上100个版本
git reset --hard commitID // 提交ID
如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录
(包括commit和reset的操作),
包括已经被删除的commit记录,
git log则不能察看已经删除了的commit记录
git checkout -- 文件名 //丢弃工作区的修改
git reset HEAD 文件名 //将stage 撤回到 工作区
4.git 删除
git rm 文件 // 删除后,再commit
5.git clone
git clone 远程仓库 [本地文件名] //
git remote add origin 地址 //本地增加远程仓库
git push -u origin master // 指定远程主机
git checkout -b dev origin/dev // 创建远程分支到本地分支
6.git 合并
git merge 分支
git merge --no-ff 分支 // 不使用 fast-forward模式合并分支
7.git stash 暂存
git stash // 暂存
git list //列出暂存的队列
git show
git stash apply //恢复队列, 可以跟上 stash@{1} 指定恢复哪个
git stash pop //恢复并删除
git stash drop
8.查看远程信息
git remote
git remote -v
git remote add [shortname] [url] //添加远程仓库
git remote show
git remote rename //重命名
git remote rm // 删除远程
9.创建分支
git checkout -b 分支名
git checkout -b dev origin/dev // 创建远程分支到本地分支
10.关联远程分支
git branch --set-upstream dev origin/dev // 建立dev 与远程 dev 的关联,
git pull,git push 时候用,有时第一次 git push -u origin master 的 -u 参数会忘记
11.标签管理(版本库的快照,tag 跟某个 commit 绑定在一起)
git tag // 查看标签
git tag v1.0 // 默认打在现在的 commit
git tag v1.0 某个commit id // 指定 commit id
git show 标签 // 查看具体某个标签
git tag -l 'v1.*'
git tag -m '备注'
git tag -v //验证标签
git push origin 标签名字//推到远程
git push origin --tags//一次性把所有标签推到远程
git tag -a v2.0 -m '说明' commit id // 给标签打上说明
-s 用私钥签名标签
git tag -d v1.0 //删除标签
git push origin v2.0 // 推到远程
删除远程标签
git tag -d v2.0 // 先删除本地
git push origin :refs/tags/v2.0 //再推送到远程
12. git config
git config --global alias.co checkout // 设置别名
git config --list // 列出配置列表
git config --global core.editor vim // 文本编辑器
git config --global merge.tool vimdiff // 差异分析工具
13.提交
git add .
git commit -m '评论'
git commit -a //跳过git add
git commit --amend // 修改最后一次提交备注
14.重命名
git mv 源文件 新文件
15.从远程仓库抓取数据
git fetch // git pull 相当于 git fetch dev 后,再执行 git merge origin/dev
16. 冲突解决
git mergetool // 启动图形化界面
git mergetool --tool-help // 帮助
git mergetool --tool=vimdiff // 设置对比工具
git config --global merge.tool vimdiff // 全局设置 mergetool
git config --global diff.tool vimdiff
17. 跟踪远程分支
git checkout -b 本地分支 origin/远程分支
git checkout --track origin/远程分支
18.删除远程分支
git branch -r -D origin/远程分支
19.分支的衍合
Git 官网
https://git-scm.com/doc
Git 中3种文件状态:
http://phplaber.iteye.com/blog/1699926
http://blog.csdn.net/a19881029/article/details/42245955
http://git.oschina.net/progit/