简介
官网地址:https://git-scm.com/
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,
分为两种类型的仓库:本地仓库和远程仓库。
本地仓库:是在开发人员自己电脑上的Git仓库
远程仓库:是在远程服务器上的Git仓库
Clone:克隆,就是将远程仓库复制到本地
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库
Git下载与安装
下载完成后可以得到如下安装文件:
这里默认下载的是64位的软件
双击下载的安装文件来安装Git。
一直下一步直到安装完成即可
安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
Git代码托管服务
2.1 常用的Git代码托管服务
前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub
码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
Git工作流程
工作流程如下:
1.从远程仓库中克隆代码到本地仓库
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
工作目录、暂存区以及版本库概念
为了更好的学习Git,我们需要了解Git相关的一些概念,这些概念在后面的学习中会经常提到
工作目录(工作区Workspace):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码,就是放项目代码的文件地方
暂存区(Stage/index):.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
版本库(本地仓库Repository):前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。其中HEAD指向最新放入仓库的版本
远程仓库库(Remote Directory):代码托管的服务器 如github
Git提交代码步骤
1.1 第1步:同步远程仓库代码:git pull
1.2 第1步:查看当前状态:git status
1.3 第2步:提交代码到本地git缓存区:git add
1.4 第3步:推送代码到本地git库:git commit
1.5 第5步:提交本地代码到远程仓库:git push
#要先配置一下邮箱和姓名,方便别人看到你的代码有问题联系你,在cmd 命令行里 git config - - global user.email "you@example.com" git config - - global user.name "Your Name"
使用命令
从Github获取拉下来
打开 cmd命令窗
git clone [url] # 拉到你所在的相对路径
其他
git 的提交
# 要先cd 到所在的文件目录里 列:niunai,后面参数 -A:添加来自所有已跟踪和未跟踪文件的更改 C:\Users\HP - NB\Desktop\niunaione>git add - A # commit :从本地缓存库中往库里提交 , -m:写明主要添加更改提交的信息是什么,成功如下 C:\Users\HP - NB\Desktop\niunaione>git commit - m "add git学习.txt [master 9c13828 ] add git学习.txt 1 file changed, 1 insertion( + ) create mode 100644 "git\345\255\246\344\271\240.txt" # 然后我们要提交到Github上 C:\Users\HP - NB\Desktop\niunaione>git push Enumerating objects: 4 , done. Counting objects: 100 % ( 4 / 4 ), done. Delta compression using up to 4 threads Compressing objects: 100 % ( 2 / 2 ), done. Writing objects: 100 % ( 3 / 3 ), 334 bytes | 167.00 KiB / s, done. Total 3 (delta 0 ), reused 0 (delta 0 ) To https: / / github.com / nniunai / niunaione.git 9a23202 .. 9c13828 master - > master