背景
现如今软件开发比较关键的一步就是项目的版本管理。git作为其中很优秀的版本管理工具,不论是使用什么语言都离不开它,各个软件开发工具中都集成了git插件,这样就造成一个问题,每次使用新的工具时都要重新去看git插件使用,比较麻烦。本文重点是从git本身命令行的方面,总结使用方法,做到一招走天下,谁来都不怕。
原理
Git 是一个开源的分布式版本控制系统,区别于SVN这类中心式的(一个体系中一个版本,所有变动都是提交向它)。
第一个重点概念分支【创建自己的版本】
本地创建分支 git branch <名称> / git checkout -b <名称>
查看本地已有分支 git branch -l
查看所有已有分支 git branch -a
删除分支 git branch -d <名称>
切换分支 git checkout <名称>
一个分支内的操作流程。图中左侧为工作区,右侧为版本库。在版本库中标记为 “index” 的区域是暂存区(stage/index),标记为 “master” 的是 master 分支所代表的目录树。
第二个重点分支内的操作
所有改动添加到暂缓区 git add -A
查看未添加到暂缓区的文件 git status
所有变动提交到目录树 git commit -m <描述>
重写暂缓区 git reset HEAD
第三个重点日志与回退
查看分支的记录 git log 退出 q
查看文件详细改动 git show <提交id>
回退到某个版本 git reset <提交id>
第四个重点远程与本地
拉取 git pull
上传 git push
特别的本地有分支,远程没有 git push origin <名称>
查看远程所有分支的更新 git fetch 结合git merge可以将远程改动合到本地自己的分支
远程内容有选择的合到本地 git cherry-pick <提交ID>
第五个重点 分支合并
合并到当前分支 git merge <名称>
合并冲突是其中一个较麻烦的问题,需要手动核对解决
第六个重点 管理仓库
git remote