前言:git 命令大全,工作中常用或不常用的皆有,快快收藏起来,忘了就拿出来瞅一眼,加深印象!
一、工作中最常用
git clone <仓库地址> // 从仓库克隆到本地
git remote -v // 查看远程仓库的情况
git branch // 查看分支
git branch <name> // 创建分支(name为分支的名字)
git switch <name> // 切换分支(name为切换到该分支)
git switch -c <name> // 创建并切换分支
git push -u origin master // 第一次推送master分支的内容到远程仓库
git add . // 添加所有修改的文件
git add <file> // 添加名为file的文件
git commit -m '第一次修改' // 提交文件并添加解释说明
git pull // 从远程仓库拉取最新内容
git push // 推送最新内容到仓库
git merge <name> // 合并某分支到当前name分支
git status // 查看当前状态
git config user.name // 查看当前绑定的用户名
git config user.email // 查看当前绑定的邮箱
git config user.name 'xxx' // 绑定用户名
git config user.email 'xxx' // 绑定邮箱
二、关于远程仓库
git remote -v // 查看远程仓库信息
git pull // 从远程拉取最新代码(冲突时)
git push origin dev : dev // 从本地dev分支推送到远程dev分支
git push origin dev // 把本地dev分支推送到远程(已经与远程的dev分支建立链接)
git push origin // 当前分支与远程分支存在追踪关系
git push // 只有一个远程分支,且同名
git push -u origin dev // 第一次push
git checkout -b dev orgin dev // 从本地创建和远程分支对应的分支
git branch --set-upstream-to dev origin dev // 建立本地分支与远程分支的关联
git branch --set-upstream origin dev // 建立远程dev分支 并于本地dev分支进行关联
git push origin --delelte dev // 删除远程分支dev
三、不太常用 - 查看/删除等
git status // 查看当前状态
git diff // 查看修改内容
git log // 查看提交历史
git reflog // 查看命令历史
git branch -d <name> // 删除分支
git branch -D <name> // 强制删除未合并的分支
git restore <file> // 丢弃工作区-某个文件的修改
git restore --staged <file> // 从暂存区丢弃 - 到工作区
四、常用场景
注:工作中常用的一个场景,例:在dev分支上开发某个功能,此时需要修改一个bug,但是dev未开完完毕,不能合并,此时可把dev分支上修改的文件暂存,新建bug分支进行修改bug,完事之后再释放dev分支接着开发;
git status // 查看当前状态(当前在dev分支)
git stash // 储藏dev分支上修改的文件
git switch master // 切换到master主分支
git switch -c bug // 创建并切换到bug分支
//... 此时在bug分支修改bug...
git add . // 添加bug分支修改的文件(注:add后面有一个英文状态下的点)
git commit -m '修改bug' // 提交bug修改说明(记下此次提交记录版本号 如:4c805e2 前7位)
git push -u origin bug // 推送bug分支到远程仓库
git switch master // 切换到master主分支
git merge bug // 合并bug分支到master分支上
git branch -d bug // 删除本地bug分支
git switch dev // 切换回到dev分支
git status // 查看当前状态(当前在dev分支,但是没有内容,因为还在储藏区)
git stash list // 查看储藏列表
git stash apply // 恢复dev上修改的文件
git stash drop // 删除stash暂存的文件
git stash pop // 恢复并删除stash(这步是将上两步合二为一)
git status // 此时dev分支会有你负责修改过的文件(可接着修改,完成后提交推送即可)
// ...当dev分支上的文件都push之后,进行下面这个步骤,以免后续引起代码冲突...
git cherry-pick 4c805e2 // 在dev分支,将bug分支提交过的内容,添加到dev分支上(4c805e2 是bug分支commit时留下的版本号,可通过git log 进行查看)
tips:英文状态下按 q 可退出 git log
祝大家开心每一天~