一.了解 Git 基本概念和常用命令的作用 (理论)
基本概念
1、工作区
包含.git文件夹的目录,主要用存放开发的代码
2、仓库
分为本地仓库和远程仓库,本地仓库是自己电脑上的git仓库(.git文件夹);远程仓库是在远程服务器上的git仓库git文件夹无需我们进行操作,只需要执行相关命令即可。
3、暂存区(索引)
git文件夹中有很多文件,其中有一个index文件就是暂存区
4、已修改(modifed):修改了文件,但还没将修改的结果放到暂存区
5、已暂存(staged):对已修改文件的当前版本做了标记暂时保存,会包含在下次提交的列表中3、6、已提交(committed):文件已经安全地保存在本地的git仓库中
7、分支和标签
①、分支
git 有一个主分支- master 分支(包含了最稳定的版本),通常来说,一个分支用于一个新功能的开发,一旦新功能开发完成,就将这个分支合并到 master 上,然后删除这个分支。每个分支都可由 HEAD 指示,HEAD是一个指针,它永远指向分支中的最新提交内容。
②、标签
标签和分支很相似,不同的地方在于标签是不变动的。标签是一种没人去修改的分支。一旦为某个特定提交操作创造了一个标签,即使有新的提交操作,它也不会更新,开发者会给产品的发行版本创建标签(也是我们常说的打tag)。
Git 和 GitHub 的区别和关系如下:
1、Git 是工具,而 GitHub 是平台。
2、我们可以用 Git 之外的版本控制系统(比如 SVN)来向 GitHub 提交代码;同样可以用 Git 将代码提交到 GitHub之外的其他代码托管平台(比如企业级代码托管平台 GitLab)上。SVN 和 Git 是同类的工具,两者的用法很相似。但目前 Git 相对更主流一些,因此只学习 Git 足够了。
工作流程
1、从远程仓库中克隆代码到本地仓库
2、本地仓库中分支进行代码修改
3、在提交前先将代码提交到暂存区
4、提交到本地仓库本
5、修改完成后,将代码push到远程仓库(之后的每次养成先pull再push的习惯)
二.能够使用 Git 命令来管理和提交项目代码 (实践)
1、创建远程仓库
在 GitHub 上创建一个新的远程仓库,获取仓库的 URL 地址
2、从本地仓库提交代码到远程仓库
①、在当前工作目录中初始化新仓库
git init
添加文件到本地暂存区中
git add
提交暂存区到本地仓库
git commit-m "提交说明"
连接远程仓库
git remote add origin 仓库地
提交之前先 pull
git pull origin 远程分支名:本地分支名
如果远程分支是与当前分支合并,则冒号后面的部分可以省略 git pull origin 分支名
提交到远程仓库
git push origin 本地分支名:远程分支名
如果本地分支名与远程分支名相同,则可以省略冒号 git push origin 分支名
强制推送可以使用 --force 参数
git push--force origin 分支名
3、从现有仓库克隆
git clone url
Git支持多种协议,默认的git://使用ssh,但也可使用https等其他协议。url地址可以为https:/lgithub/xx/xx/xx.git
添加当前目录的所有文件到暂存区
git add .
注意 . 前有空格
提交暂存区到本地仓库
git commit-m "提交说明"
提交之前先 pull
git pull origin 远程分支名:本地分支名
提交到远程仓库
git push origin 本地分支名:远程分支名
显示当前的Git配置
git config --list
编辑Git配置文件
git config-e[--global]
设置提交代码时的用户信息
git config--global user.name“用户名
git config--global user.email“郎箱地址
查看当前分支
git branch
查看仓库当前的状态,显示变更文件信息
git status
查看历史提交记录 git log
显示当前分支的最近几次提交 git reflog
下载远程仓库的所有变动
git fetch
下载特定远程仓库的所有变动
git fetch[远端仓库名]
下载远程仓库对应分支的变动
git fetch[远端仓库名][远端分支名称]
下载远程仓库对应分支的变动到本地分支
git fetch[远端仓库名][远端分支名称]:[本地分支名称]