1 创建仓库
1.1 初始化git仓库,git init会把执行此指令的目录设置为git仓库
git init
1.2 从远程clone,在本地创建一个代码仓库
git clone xxx(远程仓库地址)
2 修改提交
2.1 查看当前仓库状态,有哪些文件被修改
git status
2.2 将文件添加到仓库
git add xxx(需添加到仓库的文件名)
2.3 添加注释并提交到代码仓库
git commit -m xxx(注释)
2.4 新的注释,会覆盖上次的注释
git commit --amend -m xxx(注释)
2.5 查看提交的信息
git log
2.6 查看所有操作的历史
git reflog
2.7 将本地仓库关联到与远程仓库
git remote add origin(远程仓库名称可以自定义,默认为origin) xxx(远程仓库地址)
2.8 将本地提交推送到远程库,第一次提交需要加上-u参数,是为了将本xxx分支与远程xxx分支关联,后续可以简化
git push -u origin master(分支名)
2.9 查看远程库详细信息
git remote -v
2.10 从远程仓库拉取代码
git pull
2.11 删除已关联的远程库
git remote rm origin
2.12 查看文件内容
cat xxx(文件名)
3 git diff
3.1 比较指定文件的前后变化(工作区与暂存区的比较,git add操作后两者同步)
git diff xxx(文件名)
3.2 比较工作区和最新本地版本库内容的不同(git commit后两者同步)
git diff HEAD
3.3 比较暂存区和最新本地版本库内容的不同(git commit后两者同步)
git diff --cached
3.4 显示工作区与暂存区有变化的统计行数
git diff --stat
3.5 比较两次commit的内容差异
git diff hash1 hash2(hash1 hash2均为commit id)
3.6 比较工作区与指定commit id的内容差异
git diff hash1(commit id)
4 图形化工具
4.1 图形化log工具
gitk
5 回退
5.1 将未add的部分内容还原
git checkout -- xxx(文件名)
5.2 将暂存区的内容撤销,重新放回工作区
git reset HEAD xxx(文件名)
5.3 回退n个版本,会重置暂存区和工作区,不保留源码,之后如果需要提交,需要强推,git push -f,
git reset --hard HEAD~n(n为回退的版本数)
5.4 mixed为默认方式,回退commit,清空暂存区内容,保留源码
git reset --mixed HEAD~n
5.5 回退n个版本,只回退commit信息,不清空暂存区内容,将commit内容放入暂存区,保留源码
git reset --soft HEAD~n
5.6 从版本库中删除此文件
git rm xxx(文件名)
6 分支管理
6.1 查看所有分支,当前分支前会标 “*”
git branch
6.2 新建xxx本地分支
git branch xxx(分支名)
6.3 删除本地xxx分支
git branch -d xxx(分支名)
6.4 强行删除xxx分支
git branch -D xxx(分支名)
6.5 查看远程分支
git branch -r
6.6 删除远程分支
git branch -r -d origin/xxx
git push origin :xxx(分支名)
6.7 将本地仓库关联到与远程仓库
git remote add origin(远程仓库名称可以自定义,默认为origin) xxx(远程仓库地址)
6.8 建立本地分支和远程分支的联系
git branch --set-upstream xxx origin/xxx(分支名)
6.9 切换到xxx分支
git checkout xxx(分支名)
6.10 创建并切换分支
git checkout -b xxx(分支名)
相当于两条命令
git branch xxx xxx(分支名)
git checkout xxx
6.11 在本地创建并切换和远程分支对应的分支
git checkout -b xxx origin/xxx(分支名)
6.12 合并指定xxx分支到当前分支
git merge xxx(分支名)
6.13 以普通模式合并,使可以看出来曾经做过合并
git merge --no-ff xxx(分支名)
6.14 保存当前工作现场
git stash
6.15 查看stash的内容
git stash list
6.16 恢复之前保存的工作现场,并不删除stash内容
git stash apply xxx(stash编号,可通过git stash list查看)
6.17 恢复之前保存的工作现场,并删除stash内容
git stash pop
6.18 删除stash内容
git stash drop
7 标签管理
7.1 查看标签列表
git tag
7.2 打tag
git tag xxx(自定义标签名称)
7.3 为指定commit id打tag
git tag xxx(自定义标签名称) yyy(commit id)
7.4 为指定commit id创建带有说明的标签
git tag -a xxx(自定义标签名称) -m yyy(自定义说明) zzz(commit id)
7.5 查看标签内容
git show xxx(标签名)
7.6 删除指定tag
git tag -d xxx(tag名)
7.7 将指定tag推送到远程
git push origin xxx(tag名)
7.8 一次性推送所有tag到远程
git push origin --tags
7.9 删除远程tag
git tag -d xxx(tag名) + git push origin :refs/tags/xxx(tag名)