Git本质是“全局信息跟踪”,Git是一个开源的分布式版本控制系统,可有效地帮助团队进行多人协作开发。
在Git项目开始时,项目保有一个远程的中央仓库,团队成员在本地克隆中央仓库的副本。
团队成员开始各自的工作,此时每位成员的项目基线都领先于中央仓库却又各自不同。如果将每位成员的工作成果合并在一起,即得到项目的最新状态,也可以说项目的最新状态是分散在每个成员的本地仓库中,即是分布式概念。
在某种情况下,项目需要回到一起的某个状态(比如遇到程序出错,需求变动等情况),又或者团队带头人需要查看项目各部分的责任人,这也正是版本控制系统所要处理的问题。Git在用户提交代码时将建立版本记录,允许用户查看每次提交的内容和相关信息(如提交人,提交时间等),也允许用户将项目回退到之前的某个版本
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。
相关操作请查看Git教程:
Git 下载地址:Git
Git 中文教程:Git 教程 | 菜鸟教程
Git项目托管平台推荐:
GitHub:GitHub: Where the world builds software · GitHub
BitBucket:Bitbucket | The Git solution for professional teams
常用命令:
#克隆远程仓库
git clone
#初始化一个仓库
git init
#将文件修改添加到缓冲区
git add
#移动或重命名一个文件,文件夹或快捷方式
git mv
#回退项目版本
git reset
#将文件修改从缓冲区中移除
git rm
#显示项目当前状态
git status
#显示项目日志
git log
#显示项目分支
git branch
#切换分支或重置文件
git checkout
#提交项目修改到仓库
git commit
#对比版本之间,版本和当前工作状态之间的差异
git diff
#合并文件
git merge
#将新的提交放在另一个分支的上面
git rebase
#创建,显示,校验标签对象
git tag
#拉取其他仓库的对象和索引
git fetch
#拉取其他仓库内容并和本地分支合并
git pull
#更新远程仓库
git push