Git常用命令
本文是我在学完廖雪峰Git教程之后的总结,对于以后的查阅有很大帮助。
廖雪峰Git教程地址:地址
-
初始化Git仓库
git init
-
添加文件到暂存区
git add <file>
-
提交暂存区文件到git中
git commit -m <message>
-
查看当前暂存区和工作区的状态
git status
-
比较当前工作区文件和最早的提交记录之间的区别
git diff <file>
!! 暂存区的文件无法使用这个命令
-
查看修改历史记录
git log
- --abbrev-commit 表示只显示提交字符串的前几个字符
- --pretty=oneline 单行显示
- --graph 分支合并图
-
版本表达
HEAD 表示当前版本,指向最新的提交记录
HEAD^ 表示上一个版本
HEAD~100 表示上100个版本
也可以直接指定提交记录的uuid
-
回退版本
git reset --hard HEAD^
回退到上个版本,所有之前的提交记录都会“丢失”,你也可以通过commit记录再次找回
!!请注意工作区和暂存区没有待变更的文件
-
查看所有对HEAD的操作
git reflog
-
撤销工作区变更
git checkout — <file>
文件如果提交到暂存区,那么重置成暂存区版本,否则重置成HEAD版本
- 取消文件的暂存
git reset HEAD <file>
如果这个文件工作区有修改,那么执行命令之后,工作区的变更会保留
- 当然你也可以检出任意版本的记录,把HEAD替换成对应的记录ID即可,然后使用checkout命令检出到工作区
- 删除文件
git rm <file>
当文件在文件系统中删除后,需要执行这个命令提交一个更改,才能在git中删除
- 关联远程仓库
git remote add origin git@server-name:path/repo-name.git
- 推送到远程
git push -u origin master
- 克隆仓库到本地
git clone git@github.com:<user>/<repository>.git
- 创建分支
git checkout -b <branchName>
-b 表示新建分支
- 切换分支
git checkout <branchName>
-b 参数标识立即切换到新的分支
- 查看当前分支
git branch
- 合并分支
git merge <branchName>
!! 默认会进行Fast forward合并
- --no-ff 不实用Fast forward模式合并
- 暂存修改
git stash
- 恢复并删除暂存
git stash pop
- 删除分支
git branch -d <branchName>
- -D 强制删除
- 查看远程仓库信息
git remote
- -v 显示更详细的信息
- 推送分支
git push origin <branchName>
- 拉取远程分支到本地
git checkout -b <localBranchName> origin/<remoteBranchName>
- 拉取远程代码
git pull
- 关联本地分支到远程
git branch --set-upstream <localBranchName> origin/<remoteBranchName>
- 打标签
git tag <name>
- 指定提交打标签
git tag <name> <commit>
- 查看所有标签
git tag
- 查看具体标签的信息
git show <tagname>
- 添加带有说明信息的标签
git tag -a <tagName> -m "message" <commit>
- 删除本地标签
git tag -d <tagName>
git push origin :refs/tags/<tagName> 删除远程标签
- 将标签推送到远程服务器
git push origin <tagName>
git push origin —tags
- 忽略提交
有些不需要提交的文件,可以添加到 .gitignore 文件中,并保存到git根目录即可
- 强制提交被忽略的文件
git add -f <fileName>
- 检查文件为何被忽略
git check-ignore -v <fileName>