还敢说git命令难


一、git是干什么用的?

1. 进行源代码管理
2. 是目前世界上最先进的分布式版本控制系统(没有之一)

二、为什么要进行源代码管理?

1. 方便多人协同开发
2. 方便版本控制
3. 来不及解释了,先上车我们再聊

三、为什么要用git

1.git操作流程图解

1. git服务器 > 2. 本地仓库 > 3. 客户端 > 4. 本地仓库 > 5. git服务器

2.工作区暂存区和仓库区

说再多也没用, 来上个图
在这里插入图片11111111

工作区

对于 添加 、 修改 、 删除 文件的操作,都发生在工作区中

暂存区

暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分

仓库区

仓库区表示个人开发的一个小阶段的完成

  1. 仓库区中记录的各版本是可以查看并回退的
  2. 但是在暂存区的版本一旦提交就再也没有了

三、常用的命令搞起来

安装就不说了, 没什么好说的, 相信大家不是来学怎么装git的

1.单人本地仓库操作

(1)新创建的本地仓库 .git 是个空仓库
git init
(2)配置个人信息
git config user.name 'jack'
git config user.email 'jack@163.com'
(3)从远程仓库拉代码
git pull  # 拉取代码
或者
git clone "地址"  # 克隆代码
(4)查看文件状态
git status

在这里插入图片描述

  1. 红色表示新建文件或者新修改的文件,都在工作区
  2. 绿色表示文件在暂存区
  3. untracked files是未追踪的代码, 有些测试代码是不需要提交, 可以在.gitignore文件里配置需要忽略的文件
(5)将工作区文件添加到暂存区
git add .  # 这是添加所有 "." 是通配符
git add "文件名"  # 提交指定文件
# 提交以后刚才的红色区域就变到绿色的区域了
(6)将暂存区文件提交到仓库区
git commit -m "版本描述"
# commit 会生成一条版本记录
# -m 后面是版本描述信息
(7)查看历史版本
git log
# 或者
git reflog

git reflog, 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
在这里插入图片描述

git log则不能察看已经删除了的commit记录
在这里插入图片描述
我这里没有删除呀, 有兴趣的同学可以自己练手试一下

(7)回退版本

方案1:

# HEAD 表示当前最新版本
# HEAD^ 表示当前最新版本的前一个版本
# HEAD^^ 表示当前最新版本的前两个版本,以此类推...
git reset --hard HeAD^  # 回到当前版本上一个版本

方案2:

git reset --hard "版本号"  # 回到指定的版本
(8)对比版本
git diff HeAD HeAD^  # 对比此版本和上一个版本的改动

2.多人协同开发

(1)协同开发的流程
1. git pull  # 新的一天先从拉代码开始, 保证本地的代码是服务器最新的代码
2. git commit -am '版本描述'   # 开发完成一个小功能就要提交,多次交才能减少冲突
3. git push  # 推送代码到服务器就执行,commit后的代码是在本地仓库,最后push到server
4. 编辑代码前要先pull,编辑完再commit,最后推送push
5. 下班前最后一件事,push代码,切记切记
(2)代码冲突

1. 对比本地和服务器的代码,选择保留哪部分
2. 一般编辑器集成的git工具,如idea的vcs都会智能给合并代码,但是实在冲突的厉害,好几个或者十几文件都在冲突,此时你就要反思一下了,为什么这么久不提交
3. 此时靠命令行就显得很鸡肋,那么多可视化工具,用起来,一个一个文件比较,选择保留代码,对就是这样,这就是长时间不提交代码的弊端
4. 其实本着一个原则,少量多次,规范操作,几乎不会冲突的

(3)标签
git tag -a 标签名 -m '标签描述'  # 一般一个小版本结束打一个标签方便查找
git push origin 标签名  # 将标签推送到远程仓库
git tag -d 标签名  # 删除本地标签
git push origin --delete tag 标签名  # 删除远程仓库标签
(4)分支
# 分支的作用是为了区分环境,一般我们建立三个分支就好dev test master
# 开发阶段是dev分支,开发完成合并到test分支,测试通过合并到master分支
# 此时再结合上面说的tag,在重要的节点打标签以备回滚
git branch  # 查看当前分支
git checkout -b dev  # 创建并切换到dev分支
git push -u origin dev  # 将分支推送到远程
git checkout master  # 切换分支, 这里是切换到master分支
git merge dev  # dev分支合并到master分支

总结

git命令就是辅助开发用的,之前没有好用的可视化工具一直在用git,不过现在git工具做的都比较好用,编辑器自带的也行,或者找其他的也行,推荐还是以可视化为主,命令行作为了解就行。这里推荐一个我一直用的工具,fork,开似是收费的,但是可以白嫖,绝对不是广告,就是想让大家写代码的时候方便快捷,少走弯路。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值