Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。Git易于学习, 占地面积小,具有闪电般的快速性能。它具有Subversion,CVS,Perforce和ClearCase之类的SCM工具,具有廉价的本地分支,方便的暂存区域和多个工作流等功能。
配置
1 | arduino复制代码 git config --global "Your Name" |
初始化
1 | csharp复制代码 git init |
提交修改
1 | sql复制代码 git add <file> |
查看状态、比对
1 | css复制代码 git status |
查看历史版本、历史操作
1 | perl复制代码 git log |
版本回退、前进
1 | css复制代码 git reset --hard HEAD^ 回退到上1版本 |
撤销修改
1 | sql复制代码 git checkout -- <file> 撤销修改:误修改工作区文件,未git add/commit |
删除与恢复
1 | xml复制代码 git rm/add <file> |
清理工作区
未track也未ignore的文件或文件夹(如各种临时.swp, .patch文件等)
1 | bash复制代码git clean -i #交互式清理, 不常用 |
关联GitHub远程仓库
本地到远程
1 | xml复制代码git remote add origin <remote address> 在本地工作区目录下按照 GitHub 提示进行关联 |
克隆GitHub远程仓库
远程到本地
1 | bash复制代码git clone <remote address> git协议速度更快但通常公司内网不允许,https协议速度慢 |
分支管理
创建、切换、查看、合并、删除
1 | xml复制代码git branch <branch name> 创建<branch name>分支 |
解决合并冲突
1 | css复制代码合并时报错“分支发生冲突”,首先vim相应文件,修改冲突位置,然后按照git add/commit重新提交,最后删除多余分支即可。 |
分支管理
合并后删除分支也在 log 中保留分支记录
1 | perl复制代码git merge --no-ff -m "descriptions" <branch name> |
开发流程
1 | xml复制代码master分支 发布稳定版本 |
References
1 | ruby复制代码https://git-scm.com/book/en/v2 |
\
本文转载自: 掘金