2.4. Git与Github
认识 Git 和 Github
维基百科上是这样描述 Git 的:git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。
说的简单点就是一个版本控制软件,用一个比较有趣的段子讲比较合适,大家一定听过,说有个设计,甲方爸爸让改了很多次,最后说第一版最好,要用第一版(没有“水彧”会讲段子,都没逗笑自己)。
ok,言归正传,这时候如果你之前存了,那还好说,如果没有是不是就糟糕了?版本控制软件的作用就是可以恢复到任何一次提交的状态,如果不懂,没关系,这个很好学。
Github 是全球最大的代码托管平台,简单说就是托管我们代码的,这个就不多说了。
git 的基本设置
我们需要设置一下自己的用户名和邮箱,为什么这么做?在团队开发过程中可以用来标识自己。
$ git config --global user.name "Your Name"
$ git config --global user.email your@example.com
接下来设置 Git 推送分支时相关配置:
$ git config --global push.default simple
此设置是 Git 命令 push 的默认模式为 simple,当我们执行 git push 没有指定分支时,自动使用当前分支,而不是报错。
git的常用命令
项目初始化:
$ cd Code/Simple-dev
$ git init
暂存所有文件:
$ git add -A
你可以在项目的根目录的 .gitignore 文件中设置不暂存的文件或文件夹。
提交暂存内容:
$ git commit -m "first commit"
设置远程仓库:
$ git remote add origin git@github.com:Jouzeyu/Simple-dev.git
如果你之前没有用过 github ,点击阅读 这里有更详细的说明。
推送至远程仓库:
$ git push
补充说明
1. 为什么不用 SVN
可能有一些朋友用过 SVN ,同样是版本控制软件,为什么推荐 git 不推荐 SVN 呢?这里简单说一下两者的区别,其实就是两个词,“分布”与“集中”。你可以这样理解,git是你的电脑就是一个仓库,多人开发就相当于多个仓库,就算远程的仓库丢失了,也不会有太大问题。而 SVN 是多人共用一个仓库,因为他是集中式版本控制系统,如果丢失了,影响比较大,所以推荐git。
2. 软件推荐
可能有人用不惯命令行,我这里推荐几个git客户端工具供大家选择,
- GitHub for Desktop
- Source Tree
- 开发工具中集成的 git 工具