项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了

git学习指南(初阶)

  哈喽uu们,你们开心到爆炸的栗子又活过来啦,在新公司呆的第一个月顺利又紧张,又菜又刺激。
项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第1张图片
  为什么菜呢?因为我不会使用git,
项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第2张图片
  不会使用git的后果是什么呢?leader让我看代码,我不知道从哪里看。那这不就一下子就显得我很low?
  不!不可以这样。我一定要学会这个git,不能让别人一开始就觉得我们菜。如果你也还不知道这个工具,那么接着往下看吧。我把我学到的所有git知识都分享给你~
项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第3张图片

什么是git和github

  首先既然工作中要用git,我们就要知道git是什么,干嘛的,为什么要用它。可以给我们带来什么好处。

  git:简而言之------代码管理工具

  • 是一个开源的分布式版本控制系统
  • 可以有效、高速地处理从很小到非常大的项目版本管理
  • 更好的管理程序代码:例如提交修改后的代码,查看原来的代码的

  github:简而言之----代码托管

  • GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具
  • 且具有wiki和issue跟踪功能。
  • 使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

为什么要学习git(git真的很重要)

  接下来呢我们从两个方面来解释为啥使用git很重要:

  • 上班后的工作流程
      我是一名前端开发人员:我每天上班的工作流程是这样的:
      打开电脑,启动Mac操作系统 —> 打开vscode和mac终端 —> 通过命令行输入命令 npm run serve启动我的本地调试环境 ---->开发一天的内容------>通过命令行git commit ;git push提交我一天的工作代码 ------> 结束工作。
      在工作中,我们必须使用git来提交我们的代码。这是必备技能。如果你不会最基本的操作。你可能就会被你的同行认为你很菜(一旦形成他们对你的不好的印象,这一点是很难改变的)
  • 同步开发git带来的好处
      我近两天完成了我在新公司的第一个业务需求,业务需求结束了。我要将我的内容提给我的leader看,给测试看,给其他开发人员看,怎么看?把他们请到你的座位看?提交线上代码给他们共享是很有必要的。但是:
      我们必须明白软件开发这件事一定是由一个团队进行开发的,所以就存再着成员之间的分工,那么就会出现这种情况,成员A对项目进行了数据增加逻辑的操作的同时,成员B也在对项目进行数据删除逻辑的操作,两者执行操作之前的项目蓝本肯定都是一样的,但是假设A先完成了操作并且上传服务器,之后B也完成了操作并且上传服务器,请问这是会出现什么情况呢?显然B上传的文件会将A的文件覆盖,那么A编写的逻辑就会失效,那么岂不是A做的工作全都凉…拉取线上代码也是同样的逻辑。
      因此正确使用代码版本管理工具真的非常非常有必要。

git工作原理

1、git的工作原理大概如下图所示:

项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第4张图片

2、git主要分为以下部分

项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第5张图片

  • 工作区(workspace):在当前文件夹通过git init 命令初始化(或者通过克隆的方式)之后,都会生成一个 .git的隐藏文件夹,那么这些我们可以直接修改的文件所在空间就是工作区
  • 暂存区(stage/index):当我们使用 git add [文件名]或者git add .命令的时候,就是把我们在工作区添加、删除或者修改等等在工作区对文件的操作,同步到暂存区(暂存区的内容变得跟工作区一样)
  • 本地仓库(repository):我们在工作区对代码操作完后,把它提交到本地仓库
  • 远程仓库(remote):我们提交到网络上面的仓库,就是远程仓库
  • 分支(branch):git可以为每个程序员创建⼀个侧分⽀,开发⼈员在⾃⼰的分⽀上进⾏开发、提交。等项⽬开发完成后,程序员将⾃⼰的分⽀合并⾄主分⽀上,就实现了协同开发的⼯作

git操作步骤及常用命令

图示:
项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第6张图片
流程示

1、进入公司后第一件关于git操作的事
// 1)先创建⼀个项⽬所在的⽂件夹
mkdir <文件夹名字>

//2) git仓库初始化命令
git init

//3)查看当前git的状态
git status

//4)拉取线上的代码===我们进入公司肯定是已经有了项目文件了,所以要从线上拉取项目代码
git clone (https的代码地址/ssh的代码地址)

//5)添加项目组
//找项目的管理人员将自己的账号添加到项目组才有权限开发代码,对代码进行推送和拉取

//6)创建分支===》在本地分支上创建新的开发分支完成开发,完成开发后上传到远程分支
	//6.1)检查自己所属分支
		git branch 查看本地所属分支
		git branch -a 查看所有的分支
	//6.2)在master分支上面创建relase分支
		git checkout -b release:创建并切换到release分支上
		git checkout “分支名”   切换到目标分支
	//6.3)在relese分支上创建dev分支和pre分支
		git checkout -b dev   创建并切换到dev分支
		git checkout -b pre	创建并切换到pre分支
	//6.4)假设开发功能页面,需要在dev分支上面创建开发分支
		git checkout -b  <分支名称(尽量与本地分支名一致)>
2、功能开发完毕后提交代码到dev分支
//git pull --rebase origin dev(选用)----用来将线上的dev分支最新代码合并到本地分支代码(在你开发的过程中,线上dev分支如果有人提交了代码,那么,你是不是就得同步dev的分支到自己的分支,以保持代码的最新状态)
//1)上传代码到自己的分支
// 推送代码到暂存区:  git add .  
//从暂存区将代码存到本地仓库
	//第一次提交使用:git commit -m "提交分支的描述"
	//第n次提交:   git commit --amend ===》使用	***:wq***   退出
	//git commit -m尽量只使用一次,追加内容或后面提交尽量用it commit --amend追加
//推送至自己的线上分支  git push -f origin  <自己的分支名>

//2)提交合并申请====>在网页上提交合并请求到dev分支(询问组长测试分支的名称)---》交由组长审核

//3)在网页上提交合并请求到pre分支(询问组长pre分支的名称)---》交由组长审核

  以上就是我们在工作中常用的git命令及流程啦~
  希望也对你们的工作有帮助~~

常用git工具使用

   vscode自带代码提交功能
   Sourcetree

  这两个工具都是git代码常用的提交工具,安装使用都可以很方便直接的上手。有兴趣的同学可以多学习使用一下。
  即使有再快捷的上传方式,也建议大家用命令的习惯,不会导致太严重的合并问题或者代码冲突问题。
  希望以上的分享能够对你们有帮助哦~
项目实践中的那些git命令坑---建议git小新往死里练习/看懂这一篇就够了_第7张图片

你可能感兴趣的:(git使用指南,git,github,学习,前端)