常用Git命令总结
工作区就是没有add的区与, add 添加到暂存区
git commit -a -m "msg" 添加到暂存区并提交(前提是改文件必须之前被add过一次,否则第一次无法-a)
git diff 工作区与历史提交进行对比
git diff --staged 暂存区与上次历史提交的对比
git diff origin/master 工作区与远程本体进行对比
git fetch 获取远程本体到本地,但是不合并。
git merge -m "msg" 进行合并到本地
git pull 获取本体并合并到本地,等同如上两个命令
git branch 查看当前所有分支
git branch 分支名 创建分支
git branch -d 分支名 删除该分支
git branch -r -d origin/分支名 删除远程分支
git branch -r 查看远程分支
git pull可以拉去远程分支到本地
git push -u origin 本地分支名字:远程新的分支名字,如果不需要重新制定远程分支名字的话,则:git push -u origin 本地分支名字 即可。
git checkout 分支名,切换分支
git log 查看本分支的提交记录
git log --relative-date 查看附带提交时间的提交记录
git reflog 查看所有分支的提交记录,也可以跟--relative-date进行结合使用
git cherry-pick commitId 如果某一分支有多次提交,分支进行合并时候只想合并子分支的一个提交时候使用git cherry-pick
git merge branchName -m "msg" 将某一分支合并到当前分支下
git checkout -b branchName origin/branchName 根据远程branchName分支创建本地分支
=========================================================================================================================
git branch --merged 查看合并的分支
git branch --no-merge 查看没有合并的分支
=====================================================================================
git 撤销操作:
工作区的撤销:
git checkout -- 文件名字
注意:git checkout危险,原因:git chechout -- 文件名只能后悔一次。(起初版本A,修改为版本B,后悔了撤销到了A,当你在A后悔时候再想回B回不去了)
推荐使用git stash,使用git stash就可以还原回到A版本,此时版本B已经在垃圾桶中,如果想恢复到B版本,使用git stash apply即可,再后续直接git stash。
暂存区的撤销:
git reset HEAD 文件名字 将暂存区的修改撤销,如果还撤销到工作区,需要在此基础上再git checkout -- 文件名 即可。
如果提交到仓库撤销:
git reset --hard 提交id
=====================================================================================================
tag标签:
-a 标签名字 -m 标签的备注信息 commitId是对某一次提交进行打tag,也可以不指定对当前的版本进行打tag
git tag -a v2.0 -m "v2.0" commitId
git push origin tagName 将本地tag上传到远程
======================================================================================================
可以在.gitconfig中配置用户名邮箱以及命令行别名等等
[user] name = xxxx email = xxxx@163.com [Core] editor = vim [alias] lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit last = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -1 HEAD
=============================================================================================================