GIT
首先我们来初步了解git的大概样子,图解
每一个项目,我们都把他变成一个git仓库。
一个git仓库包含无数分支,默认分支为master
每个分支都包含无数个版本库
每个版本库都包含无数个文件
注:具体包含关系看上图哈,看这图仅仅让你知道git的样子
然后就是git常用操作总结
使用Git差不多有一年了,命令行也用的越来越多,所以把工作中常用到的操作在这里总结一下,以便更好的回顾与查询。
$ git co(checkout) -b develop # → 创建开发分支develop
$ git push # → 推送当前分支(develop)到远端仓库
------------遵循小批量提交原则------------
$ git st(status) # → 查看当前分支工作区、暂存区的工作状态
$ git diff # → diff文件的修改(⚠️很重要很重要很重要)
$ git ci(commit) . # → 提交本次修改
------------以上三步使用最频繁-----------
$ git fetch --all # → 拉取所有远端的最新代码
$ git merge origin/develop # → 如果是多人协作,merge同事的修改到当前分支(先人后己原则)
$ git merge origin/master # → 上线之前保证当前分支不落后于远端origin/master,一定要merge远端origin/master到当前分支
$ git push # → 推送当前分支到远端仓库
$ git merge --no-ff origin/develop # → 同事review code之后管理员合并origin/develop到远端主干origin/master
--------分--------割--------线--------
HEAD:当前commit引用
$ git version # → git版本
$ git branch # → 查看本地所有的分支
$ git branch -r # → 查看所有远程的分支
$ git branch -a # → 查看所有远程分支和本地分支
$ git branch -d # → 删除本地branchname分
$ git branch -m brancholdname branchnewname # → 重命名分支
$ git branch # → 创建branchname分支
$ git checkout # → 切换分支到branchname
$ git checkout -b # → 等同于执行上两步,即创建新的分支并切换到该分支
$ git checkout -- xx/xx # → 回滚单个文件
$ git pull origin master:master # → 将远程origin主机的master分支合并到当前master分支,冒号后面的部分表示当前本地所在的分支
$ git pull origin master --allow-unrelated-histories # → 允许合并两个不同项目
$ git fetch --p # → 更新分支
$ git status # → 查看本地工作区、暂存区文件的修改状态
$ git add xx # → 把xx文件添加到暂存区去
$ git commit -m ' ' # → 提交文件 -m 后面的是注释(不建议使用)
$ git commit -am(-a -m) # → 提交所有的修改,等同于上两步(不建议使用)
$ git commit ./xx # → 等同于git add ./xx + git commit(建议使用
查看
格式:git config [--local|--global|--system] -l
$ git config --local -l # → 查看仓库级的config
$ git config --global -l # → 查看全局级的config
编辑
格式:git config [--local|--global|--system] -e
$ git config --local -e # → 编辑仓库级的config
$ git config --global -e # → 编辑全局级的config
修改
格式:git config [--local|--global|--system] section.key value
$ git config --local push.default 'simple' # → 修改仓库级的push.default的默认行为
$ git config --global push.default 'current' # → 修改全局级的push.default的默认行为
* 关于git default配置这里
增加
格式: git config [--local|--global|--system] --add section.key value(默认是添加在local配置中)
$ git config --add cat.name songhw # → local配置写入 cat.name = songhw
$ git config --local --add cat.name songhw # → 等同于上一步
$ git config --global --add cat.name lhammer # → global配置写入 cat.name = lhammer
获取
格式:git config [--local|--global|--system] --get section.key(默认是获取local配置中内容)
$ git config --get cat.name # → 输出songhw
$ git config --local --get cat.name # → 输出结果同上一步
$ git config --global --get cat.name # → 输出lhammer
删除
格式:git config [--local|--global|--system] --unset section.key
$ git config --local --unset cat.name # → 删除local配置中的cat.name = songhw
$ git config --global --unset cat.name # → 删除local配置中的cat.name = lhammer
$ git rebase master # → 在当前分支对master执行rebase
$ git rebase -i 目标commit # → 修改历史某一次提交
把需要修改的commit对应的操作指令从pick改为edit复制代码
$ gitrebase --continue # → 接上一步修改完之后,继续rebase
$ gitrebase --onto HEAD HEAD^1 # → 撤销指定的commit,即消失在历史中
$ git push origin -f # → 忽略冲突,强制提交
$ git revert HEAD # → 撤销指定的commit()
欢迎留言,欢迎关注,持续更新
网友评论