ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git的基本使用方法

2021-04-24 15:01:42  阅读:207  来源: 互联网

标签:基本 Git bugFix rebase dev commit main 方法 分支


Git 的使用

Git

基础

commit

当文件出现修改,先 add,再 commit

commit 十分轻量,只会记录与前一次提交不一样的地方

每次 commit 的时候,都是commit 到本地


branch

我们一般不要再主要分支上开发,开发的时候,在其他分支进行开发,最后再将分支进行合并


git branch 创建分支

image-20210424123158502


git checkout <branchname>切换到对应分支

image-20210424123318762


commit 时,只 commit 当前分支

image-20210424123243121


merge

合并前:

image-20210424123529133

合并后:

image-20210424133013735

更新 bugFix 分支:

这里,主要是要将 bugFix 分支的位置,也转移到最新的 main 上,以跟上开发进度

但是一般开发的时候,如果是 bugFix 分支,我们只要在 mian 分支将它合并以后,删除该分支即可

image-20210424133218614


rebase

一般开发环境中,我们不会直接对 mian 分支进行修改(虽然我以前一直是这么做的)

我们应该专门新建一个 dev 分支,然后在这个 dev 分支进行开发。当后续确认这个 dev 分支无误的时候,我们才会将这个 dev 分支合并到 main 分支上,并打上 v1.1 v1.2 …的标签

当然,这个合并到 main 分支上的工作,是有一个专门的人做的,比如 Linux 的管理者 Liuns,就是专门做这件事的

rebase 前:

image-20210424140110488

rebase 后:

image-20210424140147613

下面,我们需要更新 main 分支

git checkout main:

image-20210424140251023

git rebase main:

将 main rebase 到 bugFix 分支上

因为 bugFix 是继承自 main 的,所以,这里只是将 main 分支转移到 bugFix 分支上

image-20210424140312810

rebase 比 merge 要更为清晰,使得更新变成线性的



总结

一般的开发流程,是这样的


1、新建远程仓库


2、新建 dev 分支

团队开发的时候,一般都是在 dev 分支上进行开发的

不要去触碰 main 分支

3、合并 dev 和 main

当 dev 到达一个稳定的版本后,有一个专门的人,去合并dev 和 main,此时的 main,就是一个可发行的版本,这个专门的人,可以为合并更新后的 main 分支,打上 v1.1,v1.2 …v2.1 …的版本

Linux 的维护者 Linus 就是在做这件事情

git



其他问题

本地分支与远程分支关联

当我们 clone 一个开源项目后,我们需要在 dev 分支上开发

这时,我们就需要在本地自建dev 分支,然后将这个 dev 分支与远程dev 分支关联

image-20210424142024467

这段代码做的事是:

  • 创建 dev 分支
  • 切换到 dev 分支
  • 将该 dev 分支与远程 dev分支关联

标签:基本,Git,bugFix,rebase,dev,commit,main,方法,分支
来源: https://blog.csdn.net/weixin_44062380/article/details/116090381

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有