简介
分为两个仓库:本地仓库:自己电脑上的Git仓库
远程仓库:远程服务器上的Git仓库
commit:提交,将文件和版本信息保存到本地仓库
push:将本地仓库上传到远程仓库
pull:拉取,将远程仓库文件和信息下载到本地仓库
使用场景
用于企业团队开发
1.早上上班第一件事从仓库下载最新公司代码
2.运行下的代码,如果成功就开始工作
3.下班前,先将公司服务器代码下载下来,和自己的代码融合
4.提交代码
码云的使用
每个Git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮,在弹出窗口点击【复制】按钮即可复制网络地址
Git常用命令
版本库:前面看到的.git隐藏文件夹就是版本库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
版本库息存储在.git文件夹中,执行gil add指令 可以将改变 提交到暂存区
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
工作区,就是你平时存放项目代码的地方
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
Git文件状态
untracked 未跟踪(未被纳入版本控制)
tracked 已跟踪(被纳入版本控制)
1)Unmodified 未修改状态
2)Modified 已修改状态
3)Staged 已暂存状态
文件的状态会随着我们执行Git的命令发生变化
本地仓库命令
git status 查看文件状态
git add 将文件的修改加入暂存区,只要修改过,就要执行git add
git reset 将暂存区的文件取消暂存或者是切换到指定版本,要参数信息
git commit 将暂存区的文件修改提交到版本库
git log 查看日志,可以查看版本号(版本号唯一)
远程仓库命令
clone和pull的区别:
clone是本地仓库没有项目的任何资料就用clone去远程仓库获取
pull是本地仓库有但需要更新就用pull去获取最新数据
Git分支
本地仓库和远程仓库中都有分支,通过git init 命令创建本地仓库时默认会创建一个master分支(主分支)
假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
任何参与开发的人,只要不是一次性修改,都应该这样开一个分支,把自己的工作先合入这个分支;等开发完全完成后再合并自己的分支到主版本
面试题:分支产生冲突如何解决
冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。 Git 无法替 我们决定使用哪一个。必须人为决定新代码内容。
解决冲突:
1.编辑有冲突的文件,删除特殊符号,决定要使用的内容
2.添加到暂存区
3.执行提交