Git小册子
【免密】
# 保存密码,免密 git config --global credential.helper store git config credential.helper store
【合并代码】
# 合并某一个提交点代码到分支
git cherry-pick [commitid]
【分支】
1、创建分支并查看
#创建分支
git branch [分支名]
#创建分支并切换
git checkout -b [分支名]
#查看本地分支
git branch
#查看远程分支
git branch -r
#查看本地和远程所有分支
git branch -a
#查看本地和远程分支的映射关系
git branch -vv
#本地分支和远程分支建立追踪关系(切换到本地分支后可以直接push不用指定分支)
git branch -u origin/[分支名]
#撤销本地和远程分支追踪关系
git branch --unset-upstream
2、不常用但是用上就停不下来
#如果需要查看每一个分支的最后一次提交
git branch -v
#查看所有包含未合并工作的分支
git branch --no-merged
#查看哪些分支已经合并到当前分支
git branch --merged
#查看分支创建者
(暂未找到方案,可能跟任何人均能创建都有关)
#查看分支创建时间
git reflog show --date=iso master
3、删除分支
#删除本地分支 git branch -d [分支名] #强制删除本地分支 git branch -D [分支名] #删除远程分支,两种方式均可 git push origin --delete [branchname]
git push origin :[分支名]
#删除已经在远程删除的本地却依然显示的分支
git branch -a #查看所有分支,发现很多在远程仓库已经删除的分支在本地依然可以看到
git remote show origin #可以查看remote地址、远程分支、本地与远程对应关系
git remote prune origin [分支名]
4、其他
#强制拉取远程分支代码覆盖本地
git reset --hard origin/master
#对比两分支差异
git log --left-right master...dev
【提交代码】
1、git add
# 提交工作区修改到暂存区 git add . #提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git add -A #提交所有变化 git add -U #提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
2、git commit
#提交暂存区修改到本地仓库 git commit -m “提交内容的解释说明” #提交未加入暂存区修改到本地仓库 git commit -a -m “提交内容的解释说明”
【回滚】
1、清除工作区
git reset --hard
2、回退分支
#回退到上个版本 git reset --hard HEAD^ #回退到前2个版本,多个版本一次类推HEAD~10 git reset --hard HEAD~2 #回退/前进到指定的commitID git reset -- hard [commitID] #回退代码后因为不一致,所以需要强制提交 git push origin HEAD --force
【config】
#查
git config --global --list
git config --global user.name
#增
git config --global --add user.name lukas
#删
git config --global --unset user.name
#改
git config user.name lukas
#全局配置免密 git config --global credential.helper store #本地配置免密 git config credential.helper store
【合并】
# 合并某一个提交点代码到分支
git cherry-pick [commitid]
【tag标签】
1、查看tag
#查看所有标签和最近提交点内容
git tag -l -n
#使用正则匹配查询
git tag -l "v1.9*"
【log日志】
1、查看
#查看分支结构
git log --graph --pretty=oneline --abbrev-commit
#查看日志更详细的指向
git log --oneline --decorate
#查看文件每一行提交信息
git blame [filename]
git blame -L 2,5 [filename]
#查看每次提交点修改的文件
git log --name-only
#其他
git log --name-status #每次修改的文件列表, 显示状态
git log --name-only #每次修改的文件列表
git log --stat #每次修改的文件列表, 及文件修改的统计
git whatchanged #每次修改的文件列表
git whatchanged --stat #每次修改的文件列表, 及文件修改的统计
git show #显示最后一次的文件改变的具体内容
git show -5 #显示最后 5 次的文件改变的具体内容
git show commitid #显示某个 commitid 改变的具体内容