git常用命令
命令 | 描述 |
---|---|
git init | git init命令创建一个空的Git仓库或重新初始化一个现有仓库 |
git add <filename> | 把文件添加到git仓库 |
git commit -m"本次提交的说明" | 把文件提交到仓库 |
git status | git仓库当前的状态 |
git diff | 查看difference |
git log | 显示从最近到最远的提交日志 |
git log --pretty=oneline | 过滤输出的提交日志 |
git log --graph --pretty=oneline --abbrev-commit | 直观的log显示 |
git reflog | 记录你的每一次命令 |
git rm <file> | 从版本库中删除该文件 |
git check-ignore -v 文件名 | 检查忽略 |
git add -f 文件名 | 强制添加文件到Git |
git branch -a | 查看所有分支,包括远程分支 |
git config --global alias.命令简写 命令名 | 为命令配置别名,例如git config --global alias.co checkout |
git丢弃更改相关
命令 | 描述 |
---|---|
git checkout -- file | 丢弃工作区的修改 |
git reset --hard HEAD^ | 回退到上一个版本 |
git reset --hard commit_id | 根据id回退到指定的版本 |
git reset --soft commit_id | 撤销commit,不撤销该提交包含的更改 |
git reset HEAD <file> | 把暂存区的修改撤销掉(unstage),重新放回工作区 |
git连接远程仓库相关
命令 | 描述 |
---|---|
git push -u origin master | 把本地仓库的内容推送到GitHub仓库 |
git push origin master | 推送最新修改 |
git clone <url> | 从远程克隆一个本地库 |
git remote | 查看关联的远程仓库的名称 |
git remote -v | 查看关联的远程仓库的详细信息 |
git remote add origin <url> | 把一个已有的本地仓库与GitHub仓库关联,git_url 为你的远程仓库的 url,可采用 http 协议或 ssh(git) 协议 |
git branch -r | 查看远端库的分支情况 |
git切换分支相关
命令 | 描述 |
---|---|
git checkout -b <name> | 表示创建并切换分支 |
git branch <name> | 创建分支 |
git checkout <name> | 切换分支 |
git branch | 查看当前分支,当前分支前面会标一个*号 |
git merge <name> | 合并指定分支到当前分支 |
git branch -d <name> | 删除dev分支 |
git branch -D <name> | 强行删除分支 |
git merge --no-ff -m "提交的消息" <name> | 用普通模式合并,合并后的历史有分支,能看出来曾经做过合并 |
git remote | 查看远程库的信息 |
git remote -v | 显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址 |
git checkout -b dev origin/<name> | 创建远程origin的<name>分支到本地 |
git branch --set-upstream-to=origin/<name> <name> | 设置<name>和origin/<name>的链接 |
git rebase | rebase操作可以把本地未push的分叉提交历史整理成直线,rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比 |
git stash相关
命令 | 描述 |
---|---|
git stash | 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作 |
git stash list | 可以看到使用git stash储藏起来的工作 |
git stash apply | 恢复stash的内容,但是恢复后,stash内容并不删除,你需要用git stash drop来删除 |
git stash pop | 恢复的同时把stash内容也删了 |
git stash apply stash@{0} | 恢复指定的stash |
git标签相关
命令 | 描述 |
---|---|
git tag < tagname > | 打一个新标签 |
git tag | 查看所有标签 |
git tag < tagname > commit_id | 根据提交id打标签 |
git show <tagname> | 查看标签信息 |
git tag -a <tagname> -m "说明文字" commit_id | 建带有说明的标签,用-a指定标签名,-m指定说明文字 |
git tag -d <tagname> | 删除一个本地标签 |
git push origin <tagname> | 推送某个标签到远程 |
git push origin --tags | 一次性推送全部尚未推送到远程的本地标签 |
git push origin :refs/tags/<tagname> | 删除一个远程标签 |