git 开发常用命令
git 中的代码,整个的流程就是上图显示的那样,代码可能会经历最多4个地方会被推送到远程
大致流程:clone 克隆远程文件到本地 => 通过编辑器编辑本地的代码(即在工作区) => pull 拉下远程的代码,可能有人提交代码到同分支 => add 添加到暂存区 => commit提交到本地仓库=> push 推送到远程仓库
// 简单理解 // workspace 工作区,就是你的编辑器打开的文件 // staging area 暂存区 介于工作区和本地仓库之间暂时存放代码的地方 // local repository 本地仓库 // remote repository 远程仓库
1. 基本流程命令
1.1 git init // 如果需要新建一个 git 仓库 1.2 git clone url // 克隆远端文件 url 远程仓库的地址 1.3 git checkout branchName // 切换git分支,branchName 分支名称 1.4 git pull // 假设你已经在现在的分支上修改了东西要提交,pull 拉下该分支最新的远程代码,一块提交,不然有可能会把别人已经推送到这个分支的东西搞没了(会被骂) 1.5.1 git add filePath // 单个文件添加到暂存区, filePath 单个文件路径 1.5.2 git add . // . 代表全部,全部添加到暂存区 1.6 git commit -m '描述内容' // 推送到本地仓库,并写上备注(改了啥东西) 1.7 git push origin branchName // branchName 远程分支名,推送到远程分支
2.新建及切换分支
2.1 git branch newBranch // 新建一个本地分支 newBranch为分支名,新分支基于当前分支创建 2.2 git push origin newBranch // 把新建的本地分支推送到远程,分支名称和新建的本地分支一致,远程就新建了一个分支 --------------------------------------------------- 2.3 git checkout branchName // 切换本地分支 2.4 git fetch // 如果在远程创建了新分支,本地可以通过git fetch 来获取最新的远程分支
3.删除分支
3.1 git branch -D branchName // 强制删除本地指定分支 3.2 git branch -d branchName // 删除本地分支 会检查有没有和上游分支 合并 3.3 git push origin --delete branchName // 删除远程分支
4.查看分支及常用的查看功能
4.1 git branch // 查看所有本地分支 4.2 git branch -r // 查看所有远程分支 4.3 git branch -a // 查看所有本地和远程分支 ------------------------------------------ 4.4 git status // 查看git状态,当前所在分支及该分支什么状态,待添加 or 待提交 or 待推送 or 有冲突待解决等 4.5 git diff // 查看工作区和暂存区(add)的差异 4.6 git diff filePath // 查看指定文件工作区和暂存区的差异,filePath文件路径,可以通过git status 查看 4.7 git log // 查看提交(commit)记录 4.8 git show commit-id // 查看指定提交的内容 commit-id ,每次提价生成的commit值,可以通过git log 查看
5.合并分支
5.1 git merge branchName // 合并本地branchName到当前分支
6.撤销 回退
--------撤销工作区的更改--------
6.1 git checkout -- filePath // 撤销工作区指定文件的更改,filePath,文件路径都可通过 git status查看 6.2 git checkout . // 撤销工作区所有更改 --------撤销暂存区的更改-------- 6.3 git reset HEAD filePath // 撤销上次add指定的文件更改 6.4 git reset HEAD . // 撤销上次add的全部更改 --------回退本地仓库-------- 6.5 git reset --hard HEAD^ // 回退到上次commit状态 6.6 git reset --hard commit-id // 回退到指定的commit,commit-id可通过git log 查看 --------完整的回退仓库操作-------- 6.7 git branch newBranch // 本地创建新的分支,备份,防止回退有问题 6.8 git reset --hard commit-id // 重置到指定的commit提交,重置到改提交后,后面的提交记录会去除 6.9 git push -f origin branchName // 强制推送到远端
7. 取消git跟踪
7.1 git rm --cached filePath // 取消 对file的git跟踪,filePath 文件路径, 并在.gitignore 文件中添加 不想跟踪的该文件 7.2 git rm --f filePath // 删除filePath的跟踪,并且删除本地文件。
8.新建tag (一版用 tag 标记已发布的版本)
8.1 git tag tagName // 创建本地最后一次提交的commit 标签,tagName 标签名, 8.2 git tag tagName commit-id // 创建指定提交的标签,tagName 标签名,commit-id 提交的commit-id,可通过git log 查看, 8.3 git tag -a tagName -m '标签备注' // 创建一个带有备注的tag标签,tagName 标签名,-m 后面跟备注信息 8.4 git push origin tagName // 推送tag到远程,tagName 远程tag名,和本地tag保持一致
9. 查看tag,切换tag
9.1 git tag // 查看本地已有tag标签列表 9.2 git show tagName // 查看指定tag名的详情信息 9.3 git checkout tagName // 切换指定的tag 9.4 git checkout -b newBranch tagName // 检出指定的tag,并创建本地新的分支newBranch
10. 删除tag
10.1 git tag -d tagName // 删除本地tag 10.2 git push origin :refs/tags/tagName // 删除远程tag,tagName 远程标签名
上面总结的能满足日常开发中大部分功能.