-
git rebase
D--E test
A--B--C--F master
git rebase test 在master分支上执行
A--B--D--E--C'--F'
git rebase 和 merge 差异
D--E test
A--B--C--F--G master
产生新的节点(G)
-
git fetch
git fetch origin remote-branch:local-branch
git fetch origin remote-branch # 保存在 .git/FETCH_HEAD
git pull # git fetch && git merge
git pull origin master
= git fetch origin master # HEAD 未变
git merge FETCH_HEAD # HEAD 改变
git fetch orgin # 拉取远程所有分支到本地
-
git rev-parse
解析引用或其他参数,返回哈希值
例如: git rev-parse "branch-name"
git rev-parse "refs/remotes"
git rev-parse "origin/master"
选项 --verify # 验证引用是否存在
-
git checkout [branch name / commit]
清除工作区的修改
选项 -orphan # 无历史commit的分支
-b # 创建一个新的分支
-B # 分支不存在是创建,否则被重置
-f # 忽略工作区和暂存区修改,强制检出
git checkout -- file | path
git checkout -b master origin/master
从远程分支检出到本地分支并创建分支
-
git branch
选项
-a # 查看本地和远程分支
-d # 删除分支
-D # 强制删除,有提交未合并也会删除
-r # 查看远程分支
-m oldbranch newbranch # 重命名,-M 强制
-v # 分支的最新一次提交
-vv # 分支对应的远程分支
--merged # 哪些已经合并到当前分支(即直接分支)
--no-merged
git push origin --delete 远程分支 # 删除远程分支
git branch 分支名 # 创建分支
git branch 分支名 引用 # 创建分支与引用关联
-
git clean [option] [--] <path>
选项
-d # 除去未跟踪文件及目录
-f # 强制清除,尽管clean.requireForce为True
-i # 交互式
-n # 不实际删除,只显示会做什么