快速了解Git
一、Git是什么?
Git是分布式版本控制系统。
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。
GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。
二、Git软件安装
1.安装
在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
Git 各平台安装包下载地址为:http://git-scm.com/downloads
在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:
安装包下载地址:https://gitforwindows.org/
官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。
安装的时候全部next就行。安装成功后在随便任意一个文件夹里面右键都能够打开Git Bash进行操作。安装成功后鼠标右击显示如下即可代表安装成功。
2.环境配置
配置个人的用户名称与电子邮件地址
$ git config --global user.name "runoob"
.$ git config --global user.email test@runoob.com
三、Git核心思路及工作流程
1.核心思路
Git 工作区 暂存区 版本库
工作区:在你电脑中可以看见的目录。
暂存区:一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:有一个隐藏目录 .git,是 Git 的版本库。
2.工作流程
1.克隆 Git 资源作为工作目录。
2.在克隆的资源上添加或修改文件。
3.如果其他人修改了,可以更新资源。
4.在提交前查看修改。
5.提交修改。
6.在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
四、创建仓库
git init
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录。(此目录为隐藏目录)
方法
~~git init~~
使用当前目录,只需将目录初始化,命令执行完后会显示一个.git目录。
当然,也可以在指定目录进行项目初始化。代码如下;
~~git init newrepo~~
这时将会在 newrepo这个文件夹下出现一个.git目录,所有git需要的数据及资源将都会在这个文件夹中。
五、Git 基本操作指令
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull。
图解说明:
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
git init - 初始化仓库。
git add . - 添加文件到暂存区。
git commit - 将暂存区内容添加到仓库中。
创建仓库命令
git 创建仓库的命令:
命令 说明
`git init`
初始化仓库
git clone
拷贝一份远程仓库,也就是下载一个项目。
提交与修改
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。
创建与提交你的项目的快照的命令:
命令 说明
git add
添加文件到暂存区
`git status`
查看仓库当前的状态,显示有变更的文件。
`git diff`
比较文件的不同,即暂存区和工作区的差异。
git commit
提交暂存区到本地仓库。
git reset
回退版本。
git rm
将文件从暂存区和工作区中删除。
git mv
移动或重命名工作区文件。
提交日志
命令 说明
git log
查看历史提交记录
git blame <file>
以列表形式查看指定文件的历史修改记录
远程操作
命令 说明
git remote
远程仓库操作
git fetch
从远程获取代码库
git pull
下载远程代码并合并
git push
上传远程代码并合并
分支管理
Git 分支实际上是指向更改快照的指针。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
创建分支命令:
git branch (branchname)
切换分支命令:
git checkout (branchname)
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
合并分支命令:
git merge
当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。
如果我们要手动创建一个分支。执行 git branch (branchname) 即可。“branchname”是自己给的名,可修改。