Git常用命令
Git关系图
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
config
作用
- 配置Git相关变量
git config --system
:即系统级配置文件,存储在/etc/gitconfig
中,系统中每个用户都会读取该文件中的变量git config --global
:即全局级配置文件,存储在~/.gitconfig
或~/.config/git/config
中,只针对当前用户git config --local
:即仓库级配置文件,存储在当前仓库的git目录中的config文件(即.git/config
)
用法
- 查看配置项及其优先级:
1 | git config --list |
或
1 | git config -l |
- 获取指定键的值(根据作用域,只返回第一个匹配到的值):
1 | git config --get [key] |
- 设置提交代码的用户名:
1 | git config user.name [name] |
- 设置提交代码的电子邮件地址:
1 | git config user.email [address] |
init
作用
- 用于创建一个新的代码库(一个空的Git仓库),包含.git目录
- objects
- refs/head
- refs/tags
- 模板文件
- 引用主分支的HEAD初始的一个HEAD文件
- …
用法
- 在当前目录初始化仓库
1 | git init |
- 在其它目录初始化仓库
1 | git init [directory] |
clone
作用
- 用于通过指定的URL获取一个代码库
用法
- 克隆一个远程仓库
1 | git clone [url] |
add
作用
- 用于添加文件到暂存区
用法
- 添加当前目录中的所有文件
1 | git add . |
- 添加当前目录中的某个文件
1 | git add [filepath] |
commit
作用
- 在版本历史记录中永久记录文件
用法
- 提交更改
1 | git commit -m "[message]" |
- 添加当前目录中的所有文件的所有更改至缓冲区,并提交
1 | git commit -a -m "[message]" |
diff
作用
- 比较版本或分支之间的差异
用法
- 显示尚未添加到stage的文件的变更
1 | git diff |
- 显示添加到stage的文件与当前最新版本之间的差异
1 | git diff –-staged |
- 显示两个分支之间的差异
1 | git diff [first branch] [second branch] |
reset
作用
- 撤销已有的提交
用法
- 从stage中撤出指定的文件,但可以保留文件的内容
1 | git reset [file] |
- 撤销指定提交之后的所有提交,并在本地保留变更
1 | git reset [commit-ID] |
- 丢弃所有的历史记录,并回滚到指定的提交
1 | git reset –-hard [commit-ID] |
status
作用
- 查看存储库的状态
用法
- 显示所有需要提交的文件
1 | git status |
rm
作用
- 从存储库中删除文件
用法
- 将删除工作目录中的文件,并将删除动作添加到stage;使用
--cached
标志将其从暂存区中删除
1 | git rm [--cached] [file] |
log
作用
- 显示当前分支或某个文件的历史记录
用法
- 显示当前分支的版本历史记录
1 | git log |
- 显示某个文件的版本历史记录,包括文件的重命名
1 | git log --follow [file] |
show
作用
- 显示指定提交的内容变更
用法
- 显示指定提交的元数据以及内容变更
1 | git show [commit-ID] |
tag
作用
- 为某次提交进行标签操作
用法
- 给指定的提交添加标签
1 | git tag [commit-ID] |
- 删除某次提交的标签
1 | git tag -d [commit-ID] |
branch
作用
- 对当前代码库进行分支相关的操作
用法
- 显示当前代码库中所有的本地分支
1 | git branch |
- 创建一个分支
1 | git branch [branch_name] |
- 删除指定的分支
1 | git branch -d [branch_name] |
checkout
作用
- 在当前仓库中的分支之间进行切换
用法
- 切换分支
1 | git checkout [branch_name] |
- 创建一个分支,并切换到新分支上
1 | git checkout -b [branch_name] |
merge
作用
- 将指定分支的历史记录合并到当前分支,具体可参考本人的这篇文章:
用法
- 将branch_name分支合并到当前分支
1 | git merge [branch_name] |
remote
作用
- 将本地的代码库连接到远程服务器
用法
- 连接到远程服务器
1 | git remote add [name] [remote_Link] |
push
作用
- 推送变更到远程代码库
用法
- 将主分支上提交的变更发送到远程代码库
1 | git push [remote_repo_nickname] master |
- 将指定分支上的提交发送到远程代码库
1 | git push [remote_repo_nickname] [branch_name] |
- 将所有分支发送到远程代码库
1 | git push --all [remote_repo_nickname] |
- 删除远程代码库上的一个分支
1 | git push [remote_repo_nickname] : [branch_name] |
pull
作用
- 获取远程服务器上的变更,并合并到你的工作目录
用法
- 获取远程服务器上的变更
1 | git pull [repository_link] |
stash
作用
- 对本地修改的文件进行临时保存或恢复
用法
- 临时保存所有修改的文件
1 | git stash save |
- 恢复最近一次stash(储藏)的文件
1 | git stash pop |
- 显示stash的所有变更
1 | git stash list |
- 丢弃最近一次stash的变更
1 | git stash drop |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MomentNi!
评论