Git @Draven
- Git
- 一、git工具引入
- 二、git本地工具
- 2.1、下载
- 2.2、使用
- 2.3、修改
- 2.4、查看历史版本
- 2.5、回退历史版本
- 2.6、起死回生
- 三、git远程仓库
- 3.1、使用gitee
- 3.2、配置本地仓库参数
- 3.3、查看gitee仓库
- 3.4、修改后推送
- 四、git两人协作-非冲突
- 小智
- 小杨
- 五、git两人协作-冲突
- 六、git分支
- 6.1git存在的意义
- 6.2、使用
- 七、vue项目git注意
- 八、开发流程&云服务器
- 开发流程
- 云服务器
- 九、nginx上线
- git命令
Git
一、git工具引入
- 版本控制工具
- 代码管理工具
- 团队协作工具
二、git本地工具
2.1、下载
-
https://git-scm.com/download/win
-
别这么多事,安装过程下一步点到底
2.2、使用
-
新建
test2022
文件夹 -
进入
test2022
文件夹,在空白处右键->Git Bash Here
打开git命令行面板 -
输入
git init
命令- 在文件夹内会创建出一个
.git
的隐藏目录 - 这就是我们的本地仓库
- 在文件夹内会创建出一个
-
编写一个
index.html index.js
的文件 -
命令行输入
git add .
- 点 代表全部,上传本文件夹的所有文件
- 添加到暂存区
- 本质上:
-
提交代码
- 命令行输入
git commit -m '第一次提交代码'
- -m 后面跟的是注释
- 命令行输入
- 如果出现以上情况,别慌,不是你的错
- 我们需要给这个git本地仓库取上名字和邮箱地址
- 这样才符合规范,具体操作如下
- 输入
git config --global user.name 'Draven'
取名 - 输入
git config --global uiser.email '1213456783@qq.com'
传递邮箱信息 - 然后再执行我们刚才失败的命令
git commit -m '注释'
就可以啦
2.3、修改
- 当我们修改了已上传文件后,再查看提交状态是这样的
-
说明文件已经修改了,需要重新提交(先上传到暂存区,然后再提交到本地仓库)
-
1.
git add .
2.git commit -m '注释'
-
切记,一定要加注释,不然会出现以下界面
-
- 届时如果你没学过linux,也许你这辈子都会困在里面
- 当然我们会有解决办法
- 首先我们按下键盘
i
进入输入状态 - 在第一行中留下我们的注释
- 按下
esc
退出编译器模式 - 而后按下
:
键,进入命令行 - 输入
wq
,表示退出,这样就可以逃离那个是非之地了。
- 再次输入
git status
查看状态就发现一切都恢复如初啦
2.4、查看历史版本
- 经过我们刚才的2.2和2.3步骤,我们已经提交过两个版本了
- 我们输入
git log
可以查看提交过的提示版本
2.5、回退历史版本
-
我们查看过提交记录后,想要回退到某个历史版本可以这样做哦-》
-
输入
git reset --hard HEAD^
回退到上一个版本 -
这样就回退完成啦
-
我们再使用
git log
查看提交记录就会发现没有第二次那个版本啦
2.6、起死回生
-
我们回退后,又觉着回退之前的那个版本好用,那怎么办呢?
-
我有一计起死回生之术
-
输入
git reflog
,查看操作记录 -
我们把需要的版本,前的16进制代码复制或记录下来(👆7位黄色16进制编码)
-
比如我们需要恢复到第二个版本的代码
- 先把他的16进制编码复制下来
- 输入
git reset --hard 3719190
-
如此我们的第二版本复活啦
-
我们再去查看提交记录就会发现两个版本都在啦
三、git远程仓库
-
当然,我们二大节中的知识只不过是让我们在路由等配置尚未完工时,自己再私底下使用的本地仓库
-
本地仓库不足以把所有的代码合并到一起,这是显而易见的
-
所以我们需要使用git远程仓库来合并代码
-
我们要用的远程仓库是
gitee
3.1、使用gitee
- 进入官网
- https://gitee.com/
- 我们点击加号,新建仓库
-
这样子配置刚刚好啦
- 下面是创建好仓库后给的提示,3.2配置数据源参考图中数据(自己的)
3.2、配置本地仓库参数
-
emmmm,在我们向gitee传输之前,我们需要做一步不可缺少的步骤
-
git config --global user.name "杨清壹" git config --global user.email "10274713+shiqingyi@user.noreply.gitee.com"
- 是很眼熟,但只有这样才能让我们传输的时候让git找到我们的远程仓库
-
配置远程源:
-
添加一个远程的源
git remote add origin https://gitee.com/shiqingyi/test2022.git
-
推送
git push -u origin master
-
第一次推送需要用户名个密码
-
用户名是我们user.name时候的名字
-
密码是自己gitee的密码
-
用户名或密码错误的界面是这样的
-
成功的界面是这样的
-
如果失败后一直输入一直错,你就需要去百度搜索一下win10如何删除凭证,因为这是你不珍惜第一次输入的机会曹成的后果
-
3.3、查看gitee仓库
-
推送后,我们刷新这个界面
-
刷新后
-
我们推送的代码文件就被上传到里面啦
3.4、修改后推送
- 在我们修改源代码之后需要重新推送上传,整套流程如下
- 修改源代码
- 添加到暂存区
git add .
- 提交到本地仓库
git commit -m '修改之后,第一次尝试推送'
- 推送
git push -u origin master
四、git两人协作-非冲突
小智
-
在我们进入公司做项目时
-
第一步是要公共仓库的地址
-
届时先用自己的仓库地址当成项目组长分发下来的地址使用
- https://gitee.com/shiqingyi/test2022.git
-
此时我们新建一个文件夹,下面会演示整套流程
流程
-
在新建的文件夹下打开
git
命令框 -
使用克隆命令
git clone https://gitee.com/shiqingyi/test2022.git
- 将地址内附带的资源全部的克隆到本地仓库
-
把下载下来的文件用编辑软件打开
-
新建组件等操作,进行分布代码开发
-
输入
cd 文件夹名/
进入拷贝的文件夹 -
在保证是进入到拷贝下来的文件夹内后 执行推送
-
git add .
-
git commit -m '今天的工作'
-
git push -u origin master
-
这样就完成代码上传啦
小杨
- 在小智上传了一版代码之后,小杨原先下载的代码不会自动更新
- 这样就造成了提交冲突,两个人上传时,版本不统一
- 也就是说后来人上传代码需要其他操作
- 否则会报以下如图的错误
解决方案
我们需要跟着黄色警告的指示做,也就是 pull 拉取以下
-
输入拉取更新命令
-
git pull roigin master
-
它会拉取服务器的代码,并跟本地代码进行合并提交
-
把最新的代码合到本地目录下
-
然后你就会发现我们又进入了这个烦人的界面
-
不要慌,它只是想让我们留条记录信息 也就是注释
-
我们只需要把黄色部分改成我们的注释信息,然后按下
esc
键,输入:wq
即可退出,然后更新成功 -
提交过后我们执行一遍
git push origin master
命令即可上传成功
-
注意: 一定要在 git add. git commit -m ‘’ 之后再使用pull拉取代码。
五、git两人协作-冲突
-
我们在开发中,根本无法避免自己或别人在修改同一个文件后上传
-
当然,因为这个错误头疼是开发者的一大避讳
-
演示一下
-
首先,我们用编译软件分别修改不同人下载下来的资源,修改同一个文件
-
情况就是这么个情况
-
我们先用
xiaozhi
角色进行上传-
显而易见,
xiaozhi
这东西库库上传,是挺爽的
-
我们再用另外一个角色上传
-
当然,这个错误对于我们来说很容易解决
-
只需要
pull
拉取一遍数据再上传就可以解决 -
不过,我们要考虑上传之后
xiaozhi
角色上传的代码就会被覆盖,很容易造成矛盾 -
注意,红框内的意思是自动合并失败
-
使用pull拉取完之后代码是这样的
-
这种情况我们只能手动处理了
-
所以我们不要再逼git了,喊人! 👇
-
(一支穿云箭,千军万马来相见)
-
在我们处理完第二步之后,重新给不同角色的同一个文件进行修改
-
此时,我们在web strom中安装
GitToolBox
插件 -
安装后我们输入用户名和密码
-
在我们装好插件后,跟着步骤依次上传
-
最后一个上传的时候会碰到这么一个问题
-
选择自己需要的选项就可以啦
六、git分支
6.1git存在的意义
- 分支为什么要存在?
- 当然,一个好的APP需要再开发部署完1.0版本之后,需要不断的更新迭代
- 我们总不能对着1.0源码进行编译和上传,这样会影响用户体验
- 所以我们的解决方式是将1.0版本拷贝一份至新的git空间,我们对着拷贝后的代码进行编译和更新,在敲版之后,进行更新上传
- 而拷贝的这一份,正是我们的git分支
6.2、使用
查看git所有分支
git branch -a
创建新的分支
git checkout -b devDraven
-
新建
draven
文件,或对我们原有的文件进行修改 -
提交
git add .
git commit -m 'fiexd 修改'
-
切换到主分支
git checkout master
-
会发现,在新分之内的操作不会带到我们的主分支当中
-
合并分支
- 切换到主分支中
git merge devDraven
- 合并后在该分支上的东西会合并到
master
主分支上
-
上传
- 切换到该分支中
git push origin master
-
上传分支
- 先将命令行切换到需要上传的分支
git push origin devDraven
-
在服务器删除子分支
- 切换到该分支中
git push origin :devDraven
-
在本地仓库删除子分支
- 切换到主分支中
git branch -d devDraven
七、vue项目git注意
- 初始化本地仓库
- 提交
-
- 如果第一次拉取文件出现以上问题,说明git没有完全授权,我们只需要输入
git config --global --add safe.directory "*";
命令进行授权
- 如果第一次拉取文件出现以上问题,说明git没有完全授权,我们只需要输入
-
- 这种情况不要慌,这个面板是为linux做的,我们某些字符它会自动转译,而这正是转译的操作,不用我们留意
-
- 添加远程源
- 创建分支
- 上传(推送)
- 删除本地仓库的分支
-
这样做,每个人下载下来都没有办法用,因为少了许多依赖(文件夹)
-
当然,如果你想要从别人那儿把vue项目下载下来并运行,我想这不是我能帮你解决的,你可以把以下这段话提交到www.baidu.com,它会给你答案
-
在git下载的vue项目怎么跑起来
-
八、开发流程&云服务器
开发流程
…(此处省略很多字),详情请找到本人资讯或添加如下WX
CBWR-K |
---|
云服务器
- 实在没钱搞
九、nginx上线
- 同上
git命令
命令 | 说明 |
---|---|
git init | 初始化本地仓库 |
git add . | 上传文件到暂存区 |
git status | 查看git此时提交状态 |
git commit -m ‘注释’ | 提交到本地仓库 |
git config --global user.name ‘Draven’ | 为git本地仓库取名 |
git config --global uiser.email ‘1213456783@qq.com’ | 为git本地仓库传递邮箱信息 |
git log | 查看提交记录 |
git reset --hard HEAD^ 可以多个^ | 回退到上^ 个版本 |
git reset --hard HEAD~number | 回退到上number 个版本 number为数字 |
git reflog | 查看操作记录 |
git remote add origin 仓库地址 | 添加一个远程的源 |
git push -u origin master | 推送 |
朝 orgin 这个地址推,推我们的本地仓库 master | |
ls | 查看当前目录的所有文件 |
git pull origin master | 拉取服务器代码,并完成提交(提交至本地仓库) |
git clone gitUrl | 拷贝服务器源码,giturl指的是组长提供的链接 |
分支-👇 | |
git branch -a | 查看所有分支 |
git checkout -b devDraven | 创建新的分支 |
git checkout master | 切换到主分支 |
git merge devDraven | 合并分支(先切换到主分支,devDraven为子分支名) |
git push origin devDraven | 上传分支(切换到devDraven分支执行) |
git push origin :devDraven | 在服务器上删除此分支(切换到devDraven分支执行) |
git brcnch -d devDraven | 在本地仓库删除子分支(切换到主分支执行) |