git的常用命令
git命令 | 命令的作用 | 备注 |
---|---|---|
git init | 初始化本地版本库 | |
git status | 查看版本库的文件状态 | 红色为为未添加到的暂存区文件;绿色为添加到暂存区但没有提交到版本库的文件。 |
git add | 将文件添加到暂存区 | git add 文件名;git add . 或 git add * 或git add -A都是将全部未添加到暂存区的文件添加到暂存区 |
git commit | 将暂存区的文件提交到本地版本库 | git commit -m "备注的信息" 文件名(不跟则提交全部文件);-am 表示可以将修改的版本库文件直接提交到本地版本库 |
git log | 查看提交的历史记录 | git log--oneline仅输出commit hash值 ;gitk --all显示提交的可视化界面;git reflog为查看所有分支的操作记录 |
git reset --hard <commit> | 重置本地版本库、暂存区、工作区 | |
git reset --mixed <commit> | 重置版本库、暂存区 | |
git reset --soft <commit> | 重置版本库 | |
git reset HEAD 文件 | 撤销暂存区的修改 | 和git restore --staged 文件的作用一样 |
git cheackout 文件 | 撤销工作区的修改 | 和git restore 文件的作用一样 |
git revert | 撤销某个commit | 在执行撤销以后,并没有删除commit,而是重新在版本库创建了一个commit |
git branch dev | 创建dev分支 | git branch -l 查看本地版本库的分支列表;git beanch -d dev 删除dev分支;git branch -va查看所有分支列表(包含本地) |
git checkout dev | 切换到dev分支 | git checkout -b 分支 创建并切换到该分支 |
git merge | 合并分支 | 合并分支可能造成路线图杂乱,会保留修改记录 |
git rebase | 基变分支 | 基变会让路线图更加整齐一些,但是整体的修改记录会被改变 |
git pull | 更新远程版本库的版本 | git pull origin master = git fetch origin master(远程版本库到本地版本库) + git merge origin master; git pull --rebase origin master = git fetch origin master(远程版本库到本地版本库) + git rebase origin master |
git push | 推送到远程版本库 | 如果修改同一个功能出现版本库冲突,则出现版本库冲突的手动解决冲突,git add <file> ... 标记解决了冲突,提交合并的结果,推送 |
git diff | 对比文件差异 | git diff 文件对比工作区和暂存区的文件名差异; git diff commit 文件 与某一个版本差异;git diff --cached文件对比暂存区和版本库文件差异; git diff commit01 commit02 对比不同版本之间的文件差异; |