1.git是什么
Git 的中文翻译是"傻瓜,无用的人"。为什么这样一款流行的工具会叫这个名字?
坊间流传Git的创始人Linus(Linux之父)曾经说过一句话"我是一个自负的混饭,所有我的项目都以我自己的名字命名,先有Linux,现在是Git"。
Linux曾经在公开场合表示过对git的看法:"Git,the stupid content tracker。"Git,傻瓜内容追踪器。如傻瓜照相机一样,这里的"傻瓜"指的是让复杂的操作变得更简单。
也有人认为Git是"Global information tracker"的缩写。如果将项目整体视为"全局",将项目文件内容视为"信息",将文件内容的增改删查视为"跟踪",那么Git的本质就是"全局信息跟踪"。
回到定义上来,Git是一个开源的分布式版本控制系统。可以有效的帮助团队进行多人协作开发。
在Git项目开始时,项目保有一个远程的中央仓库,团队成员在本地克隆中央仓库的副本。之后,团队成员开始各自的工作。此时每位成员的项目基线都领先于中央仓库却又各自不同,如果将每个成员的工作成果合并在一起,即得到项目的最新状态。也可以说项目的最新状态是分散在每个成员的本地仓库中的。这就是分布式的概念。如下图所示。

在某种情况下, 项目需要回退到之前的某种状态(如 :程序出错,需求变动等情况)。或者团队带头人需要查看项目各部分的责任人,这也正是版本控制系统所要处理的问题。Git在用户提交代码时,将建立版本记录,允许用户查看每次提交的内容和相关信息(如提交人,提交时间等),也允许用户将项目退回到之前的某个版本。
2.git 常用命令
以下列举一些git常见的命令。
# 克隆远程仓库
git clone
#初始化一个仓库
git init
#将文件修改添加到缓冲器
git add
#移动或重命名一个文件、文件夹或快捷方式
git mv
# 回退项目版本
git reset
#将文件修改从缓冲区移除
git rm
# 显示当前项目状态
git status
# 显示项目日志
git log
# 显示项目分支
git branch
# 切换分支或重置文件
git chekout·
# 提交项目修改到仓库
git commit
# 对比版本之间、版本和当前工作状态之间的差异
git diff
# 合并文件
git merge
# 将新的提交放到另一个分支上面
git rebase
# 创建、显示、校验标签对象
git tag
# 拉取其他仓库的对象和索引
git fetch
# 拉取其他仓库内容和本地分支合并,
git pull
# 更新远程仓库
git push
3. git 资料
Git下载地址 https://git-scm.com/
Git英文教程 : https://jwiegley.github.io/git-from-the-bottom-up/
Git中文教程 https://github.com/geeeeeeeeek/git-recipes
Git GUI :https://www.sourcetreeapp.com/
Git项目托管平台::
github: https://github.com/about/
码云 : https://gitee.com/
BitBucket