简介
什么是git
全宇宙最好的版本管理系统没有之一
作者是:Linus,Linux系统的创始人
git解决了那些问题?
代码的版本管理;团队分工协作
git常见命令
全局配置
git config --global user.name “用户名”
git config --global user.email "邮箱全局配置"
初始化
git init 初始化当前项目
git核心概念
工作区(写代表的文件夹):其实就是我们写代码的地方
暂存盘 (隐藏文件夹):一般存放在存放在 (.git/index)中,用git add 的文件都会暂时放在这里
版本库:就是在隐藏目录.git,这个就是GIT的版本库
分支
三个区的关系
我们平时的工作就是在工作区该代码,改完之后git add到暂存区上面,暂存区还没有真正提交到版本库,要用git commit才会提交到版本库
暂存盘
添加到暂存盘git add
git add my.txt 添加某个文件到暂存盘 | git add *.txt 添加某种类型的文件到暂存盘 |
git add . 添加任意类型的文件到暂存盘 |
从暂存盘取回到工作区git checkout xxx
git checkout my.txt | git checkout *.txt |
git checkout . |
版本库
必须先添加到暂存盘,再添加到版本库 |
git add . 添加到暂存盘 |
git commit -m "提示语句" 添加版本库 |
git log 查看版本 |
git reflog 查看相关版本 |
切换到某个版本 git reset --hard 版本号 |
远程仓库
新建仓库gitee
添加远程仓库
git remote add origin 仓库地址 |
添加到版本库
git add . 文件添加到暂存区 |
git commit -m "提示" 提交到版本分支 |
推送到远程
git push -u origin “master” |
第二次推送
git push origin “master” |
下载远程到本地
git clone 远程地址
推送到远程
git push -u origin “master” 首次 |
git push origin “master” 推送 |
git push -f origin “master” 强制用本地替换远程 |
拉取远程分支(zql是创建的一个分支名,可以任意取)
git fetch origin “zql” 拉取远程 “zql” 分支 |
git checkout zql 切换到本地zql分支 |
git pull origin “zql” 拉取并合并到本地 zql分支 |
克隆项目
分支
分支策略
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。 所以,团队合作的分支看起来就像这样:
查看分支
git branch 查看本地分支 | git branch -r 查看远程分支 |
创建分支
git branch 分支名 |
切换分支
git checkout 分支名 |
切换并创建分支
git checkout -b 分支名 |
合并分支
git merge 分支名称 |
删除分支
git branch 分支名 -d |
注意:
修改本地分支文件的时候(这个分支有可能别人也操作)
一定也要先:git pull origin 分支
再 编辑(确保拿到的是服务器最新文件)
比较文件
>git diff zql.txt |
查看状态
git status 文件名 |
在一个分支下创建一个文件并推送到远程
文字步骤:
1、远程连接(yougit: git学习测试,是很好的东西) 本地下载这个项目,并在master分支添加 你的名字.txt 推送到远程
2、如果你添加不成功 就pull 在添加。远程连接(https://gitee.com/js100/yougit.git)下载到本地,在master分支添加一个你的名字.txt 推送到远程 如果推送不成功 请先 git pull origin master 再 修改 再git add . 再 git commit -m “” 再 git push origin master