写在前面的话
1.定义:
git分布式版本控制系统,它是由Linux(服务器系统)创始人花两周时间使用c语言编写的工具。在git命令窗口中一般执行linux命令。
2.解决的问题:后面修改内容会替换原有内容,原有内容没有保存,以后想找找不到
3.版本控制系统优势:
1.备份文件
2.记录历史版本
3.回到过去
4.多端共享
5.团队协作
4.常用版本控制系统:
团队开发,都需要一个中央服务器存储所有代码,都可以记录历史版本
git:分布式版本控制系统
svn:集中式版本控制系统
5.集中式和分布式区别
(1) 集中式缺点:
集中式.png
1.想进行历史记录查看或者备份,必须链接到中央服务器(需要联网)
2.处理的速度没有git快(任何操作都需要连接到中央服务器,必须联网)
(2)分布式优点:
分布式.png
1.每个人本地都是一个单独的仓库,在自己仓库中就可以完成历史记录查看和记录(不需要联网)
2.git处理速度快(git是按照数据存储的)
6.一个git仓库分为3个区域
- 工作区:写代码
- 暂存区:写好代码暂时存储地方
-
历史区:生成一个个版本记录的地方
git流程图.png
===================常用操作命令==========================================
1.作为leader自己创建一个git项目步骤
(1)创建git仓库
执行git init 相当于以当前目录作为基础,创建一个本地git仓库
(2)提交一些基础信息(例 readme.md .gitignore文件)
《1》执行 Git add xxx 【把某个文件提交到暂存区】
《2》执行 Git commit –m ‘xxxx’ 【将暂存区内容提交到历史区】
(3)让本地仓库和远程仓库保持联系
Git remote add origin 远程仓库地址 【关联远程仓库[给远程仓库地址起个名字,origin代表远程仓库】
(4)把本地仓库历史区中的信息同步(推送到)到远程仓库
Git push origin master 【把本地信息推送到远程】
2.查看历史记录(相当于查看历史版本号)
git log【有历史回滚,只能查看当前回退版本以前的版本】
git reflog/git log –graph[查看分支合并图]
3.回滚
git reset –hard 版本号 【查看版本号 get log 版本号截取前7,8位即可】执行后,暂存区和工作区内容都将被这个版本替换
4.冲突解决步骤
1.找到冲突文件,留下自己代码
2.git commit -m'备注信息'
3.git push origin master
冲突解决.png
5.切换分支合并
1.git branch xxx 创建一个名字是xxx的分支
2.git checkout xxx 切换到名字为xxx分支
3.git checkout -b xxxx 创建并切换到xxx
4.git branch -D xxx 删除某个分支
6.将自己分支代码合并到master分支上
1.先切换到master分支 git checkout master
2.再合并分支 git merge xxx (xxx为自己分支)
3.将master上自己分支合并过来的代码提交到远程仓库 git add .===>git commit -m '提交'=====>git push origin master
7.下载别人创建好的远程库步骤
git clone 远程地址url (xxx) ------xxx为自定义下载下来项目的文件夹名称可有可无
【*********相当于在本地创建一个本地仓库并和远程仓库保持连接*********************】
8.Git add xxx 把某个文件提交到暂存区
Git add . 把所有修改的文件(修改和新增的,不包括删除)
Git add –u(update) 把所有修改的文件(修改和删除的,不包括新增)
9.将暂存区内容提交到历史区
Git commit
Git commit –m ‘xxxx’ 备注信息
Git commit –a –m ‘xxx’ 把提交到暂存区和提交到历史区步骤合在一起,只适合已经提交过的文件,被修改后可以用,对于新增,未提交过的文件不适用
10.github.com界面操作
给别的仓库提交代码修改或者建议
(1)fork别人仓库《克隆一份,放到自己账号下,变为自己仓库,修改自己仓库代码》
(2)fork的仓库和别人的原始仓库会默认建立一些关联,自己可以把自己仓库中和别人仓库中不同地方提交给别人
(3)把自己fork的仓库,克隆到本地,以后有新的代码心得,然后同步到自己fork的仓库中
(4)在GitHub中发送new pull request
11.基于github发布非后台项目
只提供web站点发布,后台项目没有提供必要后台环境【java等需要一些环境】
master是项目代码【插件项目的源代码,其他人克隆研究的是master分支下代码】 gh-pages分支下存储的是项目预览页面的代码【里面可以放一些说明介绍举例的文件】
步骤
1.创建一个仓库
2.把仓库克隆到本地
3.把源码传到master分支上
4.在本地仓库中创建gh-pages分支
5.把介绍页面放在gh-pages分支下
6.把介绍页面的内容上传到gtihub的gh-pages分支下
7.访问页面路径
https://用户名.github.io/仓库名/页面名.html
例如:(https://dongting1019.github.io/banner/index.html)
=================================================
常用Linux命令
1.ls 查看当前目录下的所有文件 dir[dos]
~当前用户的根目录
–l 查看详细信息
-a 查看隐藏文件
-la 详细+隐藏同时具备
2.clear清屏
3.cd目录切换
Cd ../ 返回上级目录
Cd ./ 返回当前目录
Cd / 返回根目录
Cd xxx进入指定文件夹 或者 cd 鼠标拖拽对应文件夹回车
Cd E: 进入指定的磁盘
4.mkdir 创建文件夹
5.Touch 创建文件
【可以创建无文件名的文件例如:touch .gitignore】
【在电脑隐藏文件后缀情况下,不会创建出1.txt.txt的重复后缀名的文件】
6.vi 1.txt 往文件中写内容
进入命令窗口模式-----先按i进入到插入内容模式---编写内容
按esc---按:---再按wq(保存并退出)
按esc---按:---再按q!强制退出,新输入不保存
- echo xxx > 1.txt 把xxx内容放到1.txt,若没有该文件创建,内容会覆盖原有内容
echo xxx >> 1.txt 新内容追加到后面
8.cat 查看文件中的内容
9.cp拷贝文件 cp 1.txt 2.txt 复制1.txt成2.txt
10.rm 删除文件
rm –r 递归删除(文件夹中所有后代文件都删除)
rm –f 强制删除
rm –rf 强制全部删除,一旦执行,没办法还原
网友评论