工作区 暂存区 版本库 关系结构
git diff
git diff
工作区和暂存区的差别
git diff –cached
暂存区和版本库的差别
git diff HEAD
工作区和版本库的差别
git checkout
git checkout – [filename]
重置暂存区文件到工作区指定文件的修改
git checkout HEAD [filename]
重置版本库文件到工作区指定文件的修改
修改本地提交顺序
git rebase -i HEAD~5
然后调整commit的顺序即可;
提交指定记录到远程仓库
git push origin HEAD^:refs/for/[branch-name]
Before:
After:
查看历史纪录
展示远程分支与本地分支的历史提交记录,(在主机未安装git gui 时可用)
git log –pretty=oneline –graph –decorate
显示提交记录简要的增改行数
git log –stat
查看提交记录的tree 、parent commit id
git log –pretty=raw
添加第三方远程库历史纪录到本地仓库
思路:将第三方库添加为本地仓库的远程仓库,然后将提交记录git pull 到本地;
git remote add [origin-name] [ssh:url]
git pull –rebase
git push
用法: git push origin HEAD:refs/for/[branch-name]
refs/for/mybranch
需要经过code review才可以提交;
refs/heads/mybranch
不需要code review才可以提交;
远程仓库
查看远程仓库信息
git remote -v
git remote show origin
重命名远程仓库
git remote rename [old-name] [new-name]
删除远程仓库
git remote rm [remote-name]
远程分支
创建远程分支
思路:创建本地分支,然后推到远程分支,设置本地分支关联到远程分支
git checkout -b [new-branch]
git push origin [new-branch]
git branch master –set-upstream-to=origin/[new-branch]
删除远程分支
思路:推送空分支到远程仓库
git push origin :[branch-name]
重命名远程分支
思路:先删除远程分支,然后重命名本地分支,再重新提交一个远程分支
重命名本地分支
git branch -m | -M oldbranch newbranch
-M 强制重命名
删除本地仓库没有关联的远程分支
git remote prune origin
git fetch -p
获取指定提交范围的补丁
git format-patch [from-commit-id]..[end-commit-id]
git 配置快捷键
[alias]
st = status
ci = commit
co = checkout
df = diff
pr = pull –rebase
ru = remote update
cl = config -l
br = branch
ba = branch -a
git 配置编辑器
[core] 默认编辑器
editor = vim