文章目录
1.Git介绍
1.1版本控制(理解)
无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况
功能: 1、团队写作开发。2、版本管理
代码备份
版本控制
协同工作
责任追溯
1.2 SVN版本控制
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑, 所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
2.Git操作入门
2.1 Git基本工作流程
2.2Git命令行操作
git常用命令
命令 | 作用 |
---|---|
git init | 初始化,创建 git 仓库 |
git status | 查看 git 状态 (文件是否进行了添加、提交操作) |
git add | 文件名 添加,将指定文件添加到暂存区 |
git commit -m | ‘提交信息’ 提交,将暂存区文件提交到历史仓库 |
git log | 查看日志( git 提交的历史日志) |
3.Git版本管理
3.1分支管理介绍
- 分支
由每次提交的代码,串成的一条时间线
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线 - 分支的使用场景
- 周期较长的模块开发
假设你准备开发一个新功能,但是需要一个月才能完成
第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug
那现在就需要放下手中的新功能,去修复Bug
但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。 - 尝试性的模块开发
业务人员给我们提出了一个需求,经过我们的思考和分析
该需求应该可以使用技术手段进行实现。
但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发。
- 周期较长的模块开发
- 分支工作流程
Master: 指向提交的代码版本
Header: 指向当前所使用的的分支
3.2分支管理操作
创建和切换
创建命令:git branch 分支名 切换命令:git checkout 分支名
新分支添加文件
查看文件命令:ls
总结:不同分支之间的关系是平行的关系,不会相互影响
合并分支
合并命令:git merge 分支名
删除分支
删除命令:git branch -d 分支名
查看分支列表
查看命令:git branch
4.远程仓库
4.1 远程仓库工作流程
4.2 先有本地项目,远程为空
- 步骤
- 创建本地仓库
- 创建或修改文件,添加(add)文件到暂存区,提交(commit)到本地仓库
- 创建远程仓库
- 推送到远程仓库
- 创建远程仓库
- 生成SSH公钥
- 推送到远程仓库
4.3 先有远程仓库,本地为空
步骤
- 将远程仓库的代码,克隆到本地仓库
克隆命令:git clone 仓库地址 - 创建新文件,添加并提交到本地仓库
- 推送至远程仓库
- 项目拉取更新
拉取命令:git pull 远程仓库名 分支名
git init 初始化
git add . 让git帮助管理,把代码放到代码暂存区、
git commit 把代码从暂存区存入仓库
git status 查看当前的代码修改状态
git checkout 把代码从暂存区回滚到工作区
git reset --hard HEAD^ 回滚到上一次
git reset --hard MD5 回滚到指定的版本
git reflog 查看所有的操作记录
rm file 本地删除
git add/rm file 提交到暂存区
git reset HEAD file 从暂存区回滚到工作区
git checkout -- file 把工作区里的操作撤销
下载代码
http 不需要认证
git clone https://...
ssh 需要认证
远程创建空仓库
把本地仓库推到远程(已有仓库)
git remote add origin https://...
git push -u origin master
分支
git checkout -b branch_name 创建并切换到分支
git checkout branch_name 切换分支
git pull 从远程更新代码到本地
git push 把本地代码推到远程
git merge branch_name 合并分支
git stash 把当前工作环境临时保存
git stash apply 恢复之前保存的临时工作
git stash list 查看临时保存的列表
git stash drop 删除当前临时保存的环境备份
git stash pop 恢复并删除临时保存的备份