【Git】Git命令总结
五、Git命令总结
在了解上一篇文章Git相关概念后,知道Git的原理,接下来学习这些命令会相对来说容易掌握,达到熟练则需要一定量的实践。
1. Git常用基础命令总结
# 本地初始化仓库
git init —— 初始化仓库
# 配置信息
git config --global user.name "Jack Cheng" —— 配置全局用户名信息
git config --global user.email "767833640@qq.com" —— 配置全局用户密码
git config --list —— 检查配置信息
git config <xxxx> —— 检查具体某一项的配置
git help <xxxx> —— 获取帮助
# 工作期间常用命令-从远程到本地
git clone —— 将远程仓库“克隆”到本地
git remote add —— 添加一个名为给定连接 URL的远程仓库 。
git fetch —— 从远程仓库获取远程跟踪分支的变更到本地。
git pull —— 获取远程仓库的变更,并合并到本地仓库。该命令是 fetch 与 merge 两个命令的组合
# 工作期间常用命令-从本地到远程
git add <filename> —— 将文件中的更改添加到更改集中
git commit -m 'xxx' —— 将工作目录中的更改集提交到仓库中, -m后是说明
git push —— 将本地分支的更改通过远程跟踪分支推送到远程仓库。
# 工作期间常用命令-检查状态信息
git status —— 用来跟踪当前所在的分支上已添加以及未添加的更改。
git log —— 用于显示工作目录中更改(提交)的历史记录,使用 git log <path> 命令可查看特定路径下的更改。但不能查看已经回退了的commit记录
git log --pretty=oneline —— 简化查看工作目录中更改(提交)的历史记录
git relog —— 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
git diff —— 可以查看当前工作目录中已修改的文件和暂存区的文件的差异
git diff --staged(cached) —— 查看已暂存的文件和上一次提交后的文件的变化
git diff <branchname> --<path> —— 显示当前工作目录和分支 branchname 之间在路径 path 下的差异
git checkout <branch> —— 将存储库中的分支检出到工作目录中
git checkout <branchname> --<path> —— 将分支 branchname 中路径 path 下的文件检出到当前工作目录中
# 工作期间常用命令-回退版本内容
git reset --hard commit_id —— 回退版本
# 工作期间常用命令-分支管理操作
git branch —— 查看分支(当前所在分支前面会有一个星号)
git branch -b <branchname> —— 从当前 HEAD(工作目录)创建一个新分支
git branch -d <branchname> —— 删除分支
git checkout <branchname> —— 切换分支
git checkout -b <branchname> —— 从当前 HEAD 创建一个新分支,并将工作目录切换到新分支
git merge <branchname> —— 将分支 branchname 合并到当前分支
git merge --no-ff -m "禁用fast-forward合并" <branchname> —— 注意–no-ff参数,表示禁用快速合并模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
git merge --abort —— 取消存在冲突的合并
2. Git常用高级命令总结
# 变基(Rebasing)
git rebase —— 将当前分支重新定位到给定其他分支的尖端。
git rebase -i —— 交互式变基。
# 择优选择(Cherry picking)
git cherry-pick —— 中止导致冲突的 cherry-pick。
# 存储现场工作(stash)
# git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash —— 在当前分支使用保存现场作业,切换到别的分支修bug
git stash list —— 修改完bug,切换回分支,查看刚才保存的现场作业
git stash pop —— 恢复下现场作业后进行修改