知识速查创建版本库初始化项目 git init从零开始创建项目示例git init 克隆项目 git clone将已有项目拷贝到本地示例git clone git@github.com:snowdreams1006/snowdreams1006.github.io.git添加文件 git add将新文件或已修改文件添加到缓存区示例git add README.md查看状态 git status查看当前文件是否和上次提交内容是否有修改示例git status README.md比较差异 git diff查看当前文件和上次提交内容的具体差异尚未缓存的修改: git diff查看已缓存修改: git diff –cached查看已缓存与未缓存的所有修改: git diff HEAD显示摘要而非整个差异: git diff –stat示例git diff README.md提交文件 git commit将缓存区内容添加到版本库示例git commit -m “remark"取消已缓存内容 git reset HEAD将缓存区内容添加到版本库示例git reset HEAD 删除文件 git rm <file>从暂存区中移除且不保留在工作目录: git rm <file>强制从暂存区中移除且不保留在工作目录: git rm -f <file>从暂存区中移除但保留工作目录: git rm –cached <file>示例git rm README.md移动文件 git mv <file_old> <file_new>移动或重命名文件,目录,软连接示例git mv README.md README_NEW.mdcommit push pull fetch merge 的区别与含义:git commit : 将本地修改过的文件提交到本地仓库中git push : 将本地仓库的最新版本推送到远程库中git pull : 从远程库获取最新版本到本地,并自动mergegit fetch : 从远程库获取最新版本到本地,不会自动mergegit merge : 将指定版本合并到当前分支替换本地改动丢弃当前文件修改内容,已添加到暂存区以及新文件都不会受到影响示例git checkout – <file>丢弃本地所有改动示例git reset –hard 分支管理创建分支 git branch <name>创建本地分支,但不自动切换新分支示例git branch dev切换分支 git checkout <name>切换到指定分支示例git checkout dev创建并切换分支 git checkout -b <name>创建本地分支并自动切换到新分支示例git checkout -b feature合并分支 git merge <name>将指定分支合并到当前分支示例git merge dev删除分支 git branch -d <name>删除指定分支示例git branch -d dev列出分支 git branch列出本地全部分支示例git branch提交日志 git log查看纳入版本库的提交日志示例git log标签管理创建标签 git tag -a <name>创建标签并提交备注示例git tag -a v1.0.0追加标签 git tag -a <name> <commit>追加标签并更新备注示例git tag -a v0.9.0 6ad8956bc09a6a62c731711eabe796690aa6471c删除标签 git tag -d <name>删除指定标签示例git tag -d v1.0.0查看标签 git show <name>查看指定标签示例git show v1.0.0列出标签 git tag列出本地全部标签示例git tag