git:
1.git是分布式版本管理控制工具
git优点:
适合分布式开发,强调个体
公共服务器压力和数据量都不会太大
速度快,灵活
可以离线工作
svn优点 :
管理方便,逻辑明确
集中式管理更能保证安全性
适合开发人数不多的项目开发
三个概念:
版本库 : 在初始化git版本库之后会生成一个隐藏的文件 .git ,可以将该文件理解为git的版本库 repository
工作区 : 项目目录
暂存区 : .git 目录中的 index 文件 就是暂存区 同时 : git还为我们自动生成了一个分支master以及指向该分支的指针head 在.git文件夹中
三者关系 : 可以理解为我们打开开发环境如Hbuilder,里面的内容即工作区的内容,在工作区里面有的代码以及配置文件等我们需要提交到版本库里面,最终是到了分支master上面,暂存区只是一个临时保存修改文件的地方
git与svn区别:
svn : 集中式版本管理控制工具 一台服务器控制很多客户端 使用过程中不能断网
git : 分布式版本管理工具 , 一台电脑 既可以是客户端 也可以是服务器端 , 工作过程中 可以断开网络
2.git使用:
1、创建一个项目目录
2、检出git的项目仓库 命令 ---- git init 在本地创建仓库
git status 查看当前被git管理的文件
3、本地项目文件夹新增的文件 首先要进行 添加 操作,添加到 本地的项目仓库下 , 命令 --- git add 文件全称
添加当前目录的所有文件到暂存区
将全部文件添加到git项目中 : git add . 或 git add --all
git中将工作区的内容全部加入暂存区的方法有 : git add . 或 git add --all 或 git add * 或 git add -A
仅将工作区中修改的文件添加到暂存区(新增文件不添加),以备提交,用什么命令标记最快? git add -u
如果提示提交内容为空、不能提交,则最为合适的处理方式是 :执行 git status 查看状态,再执行 git add 命令选择要添加的文件,然后提交。 总结 : 先添加 再提交
4、添加好后的文件,需要提交到git的服务器上 从暂存区到了master分支上面 使用git status 看不到暂存区的东西啦
git commit -m"日志" 日志必填
5、添加好的文件 如果被修改 ,先 做git add操作 ,再 git commit 操作
6、git log GIT命令查看当前分支的版本历史 查看日志信息 自动退出 一些系统需要手动退出的 使用 英文q退出 window下会自动退出的 不需要这个命令了
回退到某个版本上 :git reset --hard 日志版本号前六位
7、git恢复刚刚手动删除的文件 : git checkout 提交生成码 文件全名
总结 :
工作区:就是你在电脑上看到的目录,比如目录下xxx里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
-
- 第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
- 第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
分支操作
①查看分支 : git branch (列出所有本地分支)
②创建分支: git branch 分支名称
③切换分支 : git checkout 分支名称
④创建并切换到某个分支 (合并上面两个操作): git checkout -b 分支名称
⑤合并分支 : git merge 分支名 (切换到master分支上,一般在做项目时,先在master分支下再创建一个dev分支来做合并操作,最后再操作master分支)
⑥git branch -d 分支名 删除分支
github上项目路径 :
域名 用户名 文件夹名
将本地项目上传到github上
步骤 :
1、在github上创建一个仓库
在桌面上打开gitbash 通过 git clone 仓库路径 将线上的仓库克隆到本地上 (获取仓库的内容)
3、切换gitbash的路径到 项目仓库中
4、添加文件 提交文件 add commit
5、 将本地git服务器上的内容 提交到github 上 进行备份 : git push -v origin master
github git的服务提供商 通过GitHub可以上传项目 项目可以通过github来管理
本地操作项目修改后,将修改的新项目重新推送到远端github : git push -v origin master
如果在github的线上做项目的修改,线下同步: 1--重新克隆 2 --- 在当前的项目目录下,使用命令: git pull origin master
总结 :
线下 克隆 github项目 git clone 地址
线下修改项目 , 将修改后的项目 推送到github上 先add 在commit 在 git push -v origin master
如果在线上修改项目 ,同步到线下 ,可以重新克隆 ,也可以 在该目录下 git pull origin master