阅读 108

git命令总结

4个区:

工作区 —— 暂存区 —— 本地仓库 —— 远程仓库

5种状态:

未修改 —— 已修改 —— 已暂存 —— 已提交 —— 已推送

修改检查

检查 工作区 /暂存区》已修改: git diff
检查 暂存区 /本地仓库》已暂存: git diff --cached
检查 本地仓库/远程仓库》已提交: git diff master origin/master

修改撤销

已修改: git reset --hard
已暂存: git reset --hard
已提交: git reset --hard origin/master
已推送: git reset --hard HEAD^ 先恢复本地仓库 git push -f 再推送

git config --global user.name 本机所有仓库使用

git config --global user.email 本机所有仓库使用

mkdir XX 创建仓库

cd XX 进入仓库

pwd 显示当前目录

cat file-name 显示文件内容

git init 添加git管理初始化

git add 把添加或修改的文件注册到git仓库

git commit -m "info"把添加或修改的文件提交到git仓库

git status 仓库当前状态

git diff 查看修改不同

git remote add origin git@github.com:path/repo-name.git 本地关联远程仓库

git branch --set-upstream branch-name origin/branch-name 关联本地分支和远程分支

git push -u origin master 初始化推送本地到远程

git push origin master 第二次或多次推送本地到远程

git push origin branch 推送本地分支到远程对应分支

git branch dev 创建分支

git checkout dev 切换分支

git checkout -b branch-name 创建并切换分支

git checkout -b branch-name origin/branch-name 获取远程分支到本地分支

git pull 获取最新

git branch 查看分支

git merge dev 合并指定分支到当前分支

git merge --no-ff -m "info" dev 禁用FF合并分支到当前分支

git branch -d dev 删除分支

git branch -D dev 强行删除

git log --graph 查看分支合并图

git stash 存储现场

git stash list 存储现场列表

git stash pop 恢复并删除存储现场

git stash apply stash@{0}恢复

git stash drop stash@{0}删除

git remote 查看远程仓库

git remote -v 查看远程仓库详细信息

git tag 查看标签

git tag tag-name 打标签

git tag tag-name commit-id 对某个提交打标签

git tag -a tag-name -m "info" commit-id 对某个提交打标签说明

git tag -s tag-name -m "info" commit-id 对标签PGP签名(私钥)

git show tag-name 查看某标签详细

git push origin tag-name 推送标签到远程

git push origin --tags 推送全部标签到远程

git tag -d tag-name 删除本地标签

git push origin:refs/tags/tag-name 删除远程标签(需先删本地标签)

git log 查看提交历史;回退历史版本

git reflog 查看命令历史;回到未来版本

git reset --hard HEAD 该版本

git reset --hard HEAD^ 上一版本

git reset --hard HEAD~100 上一版本

git reset --hard commid_id某个版本

git checkout --path/file 暂存区覆盖工作区:还原工作区文件和版本库版本相同

git reset --path/file 撤销暂存区的修改:变为和版本库版本相同

git reset HEAD path/file 清空暂存区

git checkout HEAD --path/file 撤销工作区和暂存区修改,变为和版本库版本相同

git reset --hard HEAD 覆盖工作区和暂存区修改,变为和版本库版本相同

git rm filename 删除文件