Git
第一节Git简介
1.1 简介
Git是开源的分布式版本控制系统。主要用来存储文件、追踪目录以及查看修改历史,市面上有各式各样的版本控制工具,比较常用的SVN、Git等等
1.2 Git的特点
- 速度飞快
- 完全分布式
- 允许成千上万个并行开发的分支
- 高效管理超大规模项目(速度和数据量)
1.3 Git、Svn的区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活, 干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网 速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各 自的修改推送给对方,就可以互相看到对方的修改了。
1.4 Git官方地址
https://git-scm.com/book/zh/v2/
- git下载地址:https://git-scm.com/download/ 进行默认安装即可
第二节 Git的使用
2.1 Git的常用命令
2.1.1 Git的提交命令
1.Git add
假设在项目下有个index.html文件。在 git Bash,输入:git add index.html
- Git commit(提交)
在git Bash里输入: git commit -m "这是新建的index.html"。其中"这是新建的index.html"只是说明或者说解释。
- 把本地库的内容推送到远程库
git push -u origin master
注意:origin是远程库名,根据实际情况进行更改
注意:确保本地执行过git add和git commit.
- 理解:add和commit;
Add:添加;相当于打了标记(实际上是存储在了暂存区stage里),告诉git,下次提交时把该文件进行提交。
Commit:提交。把打过标记的(即用add进行添加的文件),一次性进行提交。即可以一次性把暂存区里的文件全部进行提交,提交了master分支(主分支)。提交完成后,暂存区里就没有文件了。
- 在刚建的项目文件夹新建一个文件或修改项目里的文件,执行上面三个步骤进行增加或修改仓库的文件练习
2.1.2 Git的恢复(跳转)到某个版本的文件命令
- 查看所有的版本的命令
git log
- 要恢复到上一个版本
git reset --hard HEAD^
- 恢复到指定版本
git reset --hard 版本序列号
- 获取远程仓库最新版本到本地
git fetch origin master 相当于是从远程获取最新版本到本地,不会自动合并
git pull origin master 相当于是从远程获取最新版本并合并到本地
2.1.3 Git分支控制的命令
- 创建分支
git branch dev
- 切换分支
git checkout dev
- 查看分支
git branch
- 合并分支
git merge dev
- 删除分支
git branch -d dev
第三节 Gitee的使用
3.1 Gitee的简介
gitee是开源中国(https://www.oschina.net/)开发的一款基于git的代码托管平台,能够用码云实现代码托管、项目管理、协作开发,目前是国内最大的代码系统,gitee和github的作用和性质是类似的,但是相比于github而言,gitee有两个显著的优势:一是速度更快,二是支持免费的私密项目。
3.2 Gitee的使用
3.2.1 Gitee的官方地址
- 官方地址:https://gitee.com/
- 使用手册:http://git.mydoc.io/
3.2.2 Gitee初始使用
- 注册
- 登录
- 创建本地与远程的连接(用ssh)(搭桥)
1)获取SSHKey在git bash 输入:ssh-keygen -t rsa -C "youremail@youremail.com"
2)查看你的 public key
3)打开公钥,把内容添加到Gitee
4)添加后,在git bash中输入:ssh -T git@gitee.com
第一次绑定的时候输入上边的代码之后会提示是否continue,输入yes后程序会自动连接,如果要求登录,直接输入登录信息即可。
再次执行上面的命令,检查是否成功连接,如果返回如下信息,则表示添加成功
(6)Git设置全局的用户名和邮箱
git config --global user.name "yourname"
git config --global user.email "youremail@youremail.com"
3.2.3 Gitee远程仓库使用
- 创建远程仓库
登入Gitee后,点击头像旁边的"+"加号-->新建项目
- 填写项目基本信息后直接点击创建,这样一个远程仓库就已经创建完成了
- 然后就是将你的远程仓库克隆到本地,或者你可以在本地初始化一个项目后再进行云端绑定。(远程仓库项目克隆到本地仓库)
在电脑磁盘中操作在git bash输入:git clone https://gitee.com/yourname/repository#yourname 您在码云或github注册的用户名#repository 您创建的远程仓库名称过程会弹出输入git账号和密码弹出框
- 第一次操作,把项目所有的文件拷贝到本地仓库目录中,只要团队中一人操作即可。
- 切换到仓库目录
- 拉取并合并最新代码 git pull
- git pull拉取并合并代码以后如果发现代码有冲突,优先解决冲突,解决冲突的原则是:保留别人的代码,修改自己的代码。
这里具体问题具体分析
- 查看本地文件状态 git status,红色文件是改动的文件需提交的
- 添加要提交的本地修改的文件到本地暂存区 git add .
- 确认是否全部加入本地暂存区中 git status
git add .gitignore
再次git status 发现已经加入缓冲区
- 提交代码到文件控制本地仓库 git commit -m "初始化项目"
- 本地仓库代码推送远程仓库 git push 或者 git push origin master
- 刷新页面发现代码已经上传成功
- 非第一次上传项目,从步骤6 到步骤13 执行
- 其他git命令
1)删除本地暂存区文件 git rm --cached 文件名称 ,相当于git add 逆过程
2)git log查看提交记录
3)选择某次提交的commit ID,ctrl+c复制提交ID
4)使用git reset --hard 还原到某一次提交 git reset --hard commit ID
5. gitee删除远程仓库1)点击管理,然后点击仓库设置,再点击删除仓库2)点击删除仓库,点击确认删除