![image.png](https://i-blog.csdnimg.cn/blog_migrate/9a86eb9ec893b90fd7d3699243aa3c59.png)
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
创建版本库
- git init
在当前目录创建初始化git本地仓库 - git clone [url]
克隆远程仓库
修改和提交
- git status
查看git 本地状态 - git diff
用来比较文件不同 - git diff [指定文件地址]
用来比较指定的文件 - git add .
添加所有文件到暂存区 - git add [指定文件地址]
添加指定文件到暂存区 - git commit -m ‘message’
将暂存区里的改动给提交到本地的版本库
git commit –amend
这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。(简称合并两个pr,只用一个commit 信息) - git cherry-pick [commit]
选择一个commit,合并进当前分支 - git fetch origin
从远程获取代码库 - git merge origin
将远程 代码 合并到 某分支 - git pull origin
从远程拉取代码并合并 - git push origin master
推送代码 到远程 分支
分支查看与管理
- git branch
查看本地分支 - git branch -a
查看本地以及远程分支 - git branch -d [分支名]
删除本地分支名为xx的分支 - git checkout -b [分支名]
创建本地分支xx分支并切换到xx分支 - git checkout [分支名]
切换本地分支到xx分支
远程仓库的操作
- git remote -v
查看所有的远程仓库 - git remote add origin [url]
添加远程仓库关联 - git remote set-url origin [git地址]
修改关联的远程仓库地址 - git remote rm origin
删除关联的origin远程仓库 - git remote rename old_name new_name
修改仓库名
本地暂存
- git stash
执行存储 - git stash save [stash 注释内容]
执行存储时,添加备注 - git stash list
查看stash了哪些存储 - git stash pop
恢复之前缓存的工作目录 - git stash apply
恢复某个存储,但不会把存储从存储列表中删除 - git stash pop stash@{num}
恢复之前缓存的指定的工作目录 - git stash clear
删除所有缓存的stash
查看提交历史
-
git log
查看所有历史提交记录 -
git log -5
查看最近5条记录 -
git log --oneline
查看历史记录的简洁版本 -
git log --reverse --oneline
来逆向显示所有日志, 按照时间先后顺序排列 -
git log --author=[名字] --oneline -5
查看某人最近5次提交记录 -
git reset --hard HEAD
将本地版本回退到上一次提交版本 -
git reset --hard id
将本地版本回退到指定版本 (id通过git log查看)
git 标签 tag
- git tag
查看所有的标签 - git tag v1.0
创建标签 - git tag -a v1.0
打开编辑器附注标签 - git tag -a [tagName] -m ‘注释解释说明’
创建并指定标签信息命令 - git push [remote] [tag]
提交指定tag - git push origin :refs/tags/[tagName]
删除远程tag - git checkout -b [branch] [tag]
新建一个分支指向某个tag