git常用命令看这一篇就够了
配置用户名和邮箱
git config --global user.name <your_name>
git config --global user.email <your_email@example.com>
生成ssh key
ssh-keygen -t rsa -C <your_email@example.com>
初始化仓库
git init
添加所有文件到暂存区
git add -A/git add .
取消添加到暂存区的单个文件/所有文件
git restore --staged <file/.>
取消工作区的单个文件/所有文件的修改
git restore <file/.>
提交所有文件到仓库
git commit -m <message>
保存当前所有未提交文件的状态(包括暂存的和非暂存的)
git stash
或 git stash save <message>
恢复之前保存的未提交文件的状态
git stash pop
或git stash pop stash@{<number>}
列出所有临时保存的未提交状态
git stash list
让工作区和暂存区所有文件都回到最近一次提交的版本/上一个版本/某个版本
git reset --hard HEAD
//回退到最近提交的版本
git reset --hard HEAD^
//回退到上个版本
git reset --hard HEAD~3
//回退到上上上个版本
git reset --hard <commitId>
//回退到某个版本
让暂存区所有文件/某个文件回到最近一次提交的版本/某个版本
git reset HEAD <file/null>
git reset --soft HEAD~3 <file/null>
git reset <commitId> <file/null>
用暂存区所有文件/某个文件替换工作区文件
git checkout .
git checkout -- <file>
创建并切换分支/切换分支
git checkout -b <branchName>
git checkout <branchName>
切换到上一个分支
git checkout -
创建/删除分支
git branch <branchName>
git branch -d <branchName>
删除远程分支
git push origin --delete <branchName>
重命名分支
git branch -m <oldName> <newName>
查看所有分支
git branch -a
将本地创建的分支关联到远程分支
git push --set-upstream origin <branchName>
或git push -u origin <branchName>
合并某个分支到当前分支
git merge <branchName>
合并分支并且保留分支历史记录与合并记录
git merge --no-ff -m <message> <branchName>
合并远程分支到当前分支
git pull
git merge --no-ff origin/<remoteBranchName>
查看文件状态
git status
查看所有分支的提交记录(不包括被reset --hard删除的提交)
git log
git log --oneline
查看所有分支的所有操作记录(包括被删除的提交)
git reflog
git reflog --oneline
从远程仓库克隆一个项目
git clone <url>
重新设置远程仓库地址
git remote rm origin
git remote add origin <url>
git push -u origin master
从远程仓库拉取代码并且合并到当前版本
git pull
把当前版本推送到远程仓库
git push
创建本地标签并推送到远程仓库
git tag <tagName>
git push origin <tagName>
推送所有本地标签到远程仓库
git push origin --tags
以某个特定的commit创建tag
git tag -a <tagName> <commitId>
查看本地某个tag 的详细信息
git show <tagName>
列出本地所有tag
git tag
或 git tag -l
查看远程所有tag
git ls-remote --tags origin
删除本地tag
git tag -d <tagName>
删除远程tag
git push origin :<tagName>
重命名标签
未推动到远程
git tag -d <oldTagName>
git tag <newTagName>
git push origin <newTagName>
已推送到远程
git tag -d <oldTagName>
git push origin :<oldTagName>
git tag <newTagName>
git push origin <newTagName>
以某个tag所在的位置创建分支并切换到该分支
git checkout -b <branchName> <tagName>
git中的vim编辑器操作
键盘i:编辑状态
键盘Esc:命令状态
键盘wq:保存退出
键盘q!:不保存退出
作者:测马奔腾
原文链接:https://www.jianshu.com/p/53fba80ae942