命令 | 说明 |
---|---|
.`` | . |
git init | 创建版本库 |
git add <file> | 添加文件到缓存区 |
git add -A | 添加所有文件到缓存区 |
git commit -m <message> | 提交文件到仓库 |
git status | 查看仓库状态 |
git diff <file> | 查看文件差异 |
git log | 显示提交日志,不能显示回退的commit,如有需要使用git reflog |
git log --pretty=oneline | 按行格式化日志输出 |
git log --graph | 显示分支commit合并图,有可选项,例如--pretty=oneline --abbrev-commit |
git reflog | 显示所有commit和reset,包括回退的commit |
git reset HEAD | 撤销暂存区修改,适用于使用git add <file> 之后的撤销 |
git reset --hard HEAD | 撤销暂存区和工作目录的修改 |
git reset --hard HEAD^ | 回退上个版本 |
git reset --hard <commitId> | 回退特定版本 |
git checkout <commit-hash> | 检出到指定提交的状态 |
git checkout <commit-hash> -- <file-path> | 检出文件到指定提交的状态,不指定提交hash则检出到最近一次提交 |
git checkout <commit-hash> -- <folder-path> | 检出整个文件夹到指定提交的状态,不指定提交hash则检出到最近一次提交 |
git checkout <branchName> | 切换分支,新版本可使用git switch <branchName> |
git checkout -b <branchName> | 创建并切换分支,相当于 git branch <branchName> + git checkout <branchName> ,新版本可使用git switch -c <branchName> |
git rm <file> | 删除文件,也可以用git add <file> |
git remote -v | 查看远程库 |
git remote add origin git@<serverName>:path/<repoName>.git | 关联远程仓库 |
git remote rm origin | 解除与远程库的关联 |
git push origin master | 向远程仓库推送修改,如果是第一次推送使用git push -u origin master |
git clone git@<serverName>:path/<repoName>.git | 克隆远程仓库 |
git branch --set-upstream-to=origin/<branchName> <branchName> | 关联本地与远程分支 |
git branch | 查看分支 |
git branch <branchName> | 创建分支 |
git branch -d <branchName> | 删除分支 |
git branch -D <branchName> | 强制删除未被合并的分支 |
git merge <branchName> | 合并分支。默认尝试使用Fast-forward(快进模式)合并,此模式会删除分支信息,可使用--no-ff 禁用快进模式, 不删除分支信息 |
git stash push | 储存工作区 |
git stash push -m | 储存工作区,携带提交信息 |
git stash -u | 储存工作区,包括未被跟踪的文件 |
git stash list | 储存的工作区列表 |
git stash pop | 恢复工作区内容,删除stash内容 |
git stash apply | 恢复工作区内容,不删除stash内容,可使用git stash drop 删除 |
git stash drop | 删除stash内容 |
git cherry-pick <commitId> | 复制一个特定的提交到当前分支 |
git pull | 拉取并合并远程分支到本地分支 |
git rebase | 变基,整理分叉的提交历史成为直线,点此参考 |
git tag | 查看所有标签 |
git tag <tagName> | 在最新commit创建标签 |
git tag <tagName> <commitId> | 在特定commit创建标签 |
git show <tagName> | 查看标签具体信息 |
git tag -a <tagName> -m <message> <commitId> | 创建带有说明的标签 |
git tag -d <tagName> | 删除标签 |
git push origin <tagName> | 推送标签 |
git push origin --tags | 推送全部标签 |
git push origin :refs/tags/<tagName> | 删除远程标签 |
git config --global <property> <value> | 配置全局选项 |
git config <property> <value> | 配置当前仓库选项 |
常规提交步骤:
- git add -A
- git commit -m
- git pull
- 解决冲突(若有)
- git push
附1:工作区和暂存区(stage)的理解
附2:多人协作提交流程
参考:廖雪峰Git教程