2017-02-15-Git.md
Git 的前世今生
这个要从开源运动说起,1991年Linus创立了开源的Linux 。
很多人参与Linus的开发,但是代码一直不好管理。
开源精神不乏有梁山好汉的气息,有人试图破解正在使用的BitKeeper正在用的版本系统,结果被发现了,要收回Linux的免费使用权。
一周之后, Git诞生了。
2008 年GitHub网址上线,无数开源项目迁移到GitHub。
Git是什么?
Git 是一款分布式的版本管理软件,适合管理二进制文件,就是适合 代码 文档什么之类。
什么是分布式?
- 这就要从svn的集中式仓库说起,集中式好比一个图书馆,你从里面拿一本图书出来修改,在放回去,期间只有你能使用。而且必须要联网,如果服务器死机资料还可能丢失。
- 分布式:任何一台都可以当主机,而且可以吧数据拷贝到任何一台电脑,离线操作。可以分模块开发,完成好之后,提交到 GitHub 远程仓库,和自己搭建服务器开发。
为什么要用版本管理仓库?
- 所有人都需要版本管理,一个PPT,老板不满意要你修改,“另存为1”,你加班到半夜,又有新的思路,“另存为2”,第二天说是要增加新内容,好把,再“另存为3"...
这样麻不麻烦?有Git就不一样了。 - Git是世界上最好的分布式版本管理仓库,没有之一。可以让你查看历史版本,版本之间轻松穿梭。
- 这么酷版本管理软件,干嘛不学?
安装配置Git
Mac 安装 Git
- 安装 Xcode 的时候默认安装
- 或者homebrew安装
Win 安装 Git
地址:https://git-for-windows.github.io
Liunx
这个大神请绕道,还没用过Liunx 。
- 安装完成后进行配置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
常用命令
序列 | 命令 | 作用 | 例子 |
---|---|---|---|
1 | git init |
托管 | |
2 | git add |
添加到暂存区 | |
3 | git commit |
添加到版本库 | |
4 | git status |
察看 | |
5 | git diff |
对比 | |
6 | git log |
查看历史版本 | |
7 | git reset --hard (版本号) ``HEAD |
回到某版本 | |
8 | git reflog |
查看版本编号 | |
9 | git checkout -- file |
撤销工作区 | |
10 | git rest HEAD file |
撤销暂存区 | |
11 | git remote add origin git@github.com:youname/lerarngit.git |
添加远程仓库 | |
12 | git push -u origin master |
推送所有内容 | |
13 | git push oringin master |
推送 | |
14 | git clone |
克隆 | |
15 | git checkout -b |
创建并切换分支 | |
16 |
git branch <name> |
创建分支 | |
17 | git checkout <name> |
切换分支 | |
18 | git merge <name> |
合并某分支到当前分支 | |
19 | git branch -d <name> |
删除分支 | |
20 | git tag |
打标签 | |
21 | git stash |
隐藏工作区 | |
22 | git stash pop |
回到工作现场 | |
23 | git push 本地分支:远程分支 |
本地分支必须存在 | |
24 | git checkout <file name> |
从远程库下载文件,(本地文件已删除的情况下) | |
25 | git config --global color.ui true |
配置git,使其显示颜色 | |
26 | git config --global alias.缩写 命令名字 |
这样可以为命令配置自己想要的缩写 |
- Git 是什么?
Git 是一款分布式的版本管理软件,适合管理二进制文件,就是适合 代码 文档什么之类。 - 为什么要学Git?
这么酷版本管理软件,干嘛不学? - 写一个 Git 自动忽略仓库
因为有很多文件会产出垃圾文件,你git status
时看到会很讨厌,git提供了解决方案,创建一个
.gitignore
文件,在https://github.com/github/gitignore浏览配置文件。
版本回退
工作区 、暂存区
远程库 GitHub
- 2008年出现了GITHub,这使开源或这社会化编程变得更加容易。
可以在GitHub上面fork自己感兴趣的开源项目,或这大神。
也可以把自己的开源项目托管在GitHub上。
分支
branch
分支是git里边的一大特色。
可以通过分支的特性保证原来的版本继续运行,和新想法的继续开发。
git branch
查看分支
git checkout <name>
切换分支
git checkout -b <name>
和合计:创建并切换分支
git merge <name>
合并某分支到当前分支
git branch -d <name>
和合计: 删除分支
解决冲突
通过手动的方式解决冲突。
或者······
结语
我是先使用GitHub才知道git版本管理的,
发现了这么好用的git管理仓库,
拖拖拉拉学了好久才会。
秉承 “ 教是最好的学 ” 概念,写的学习笔记,
不足之处,大家多多包涵。
参考资料
- 廖雪峰 - Git教程
- Git的官方网址: http://git-scm.com
- 《GitHub 入门与实践》- 豆瓣
CHANGELOG
170215 创建
170622 添加背景 参考资料
170701 添加缩写设置