教程:

首先【Git的基础】 | 猴子都能懂的GIT入门 | 贝格乐(Backlog)

Learn Git Branching

配置

Git 本地配置多个ssh key:

https://www.cnblogs.com/hafiz/p/8146324.html

https://www.jianshu.com/p/2cfa1f0c1381

Git 中pull,update,merge 和rebase

git pull 是Git的原生命令,update project 不是Git的原生命令,是IDEA对Git的封装扩展。

git pull 是先 git fetch ,然后再 git merge 。git fetch 使用了 --rebase 参数,就相当于先 git fetch ,再 git rebase 。

而 idea中的 update project 就是对 git fetch 与 git fetch --rebase 的封装。

git rebase的视频讲解:https://www.bilibili.com/video/BV1Ur4y1q7xB

假设我们现在有3个分支

  • master分支:线上环境使用的分支
  • testing分支:测试环境使用的分支
  • my_feature分支:开发新功能的分支,也就是当前分支

A. 假设我在my_feature上开发了一段时间,之后另外的同事开发的功能正式上线到master分支了,那么我可以在当前的分支下rebasemaster分支,这样我这个分支的几个commits相对于master还是处于最顶端的,也就是说rebase主要用来跟上游公共分支同步,同时把自己的修改顶到最上面

B. 我在my_feature上开发了一段时间了,想要放到test分支上,那就切到test,然后git merge my_feature,因为test是公共分支,最好是用merge

经常rebase,不然可能两个月后发现大量冲突。

多人项目尽量不用rebase,一般是merge。

从main分支rebase到我的分支,然后merge到main。

比如你从main上切了一个分支改了一些东西,明天你发现有人已经又改了新东西已经merae到 main了,你这时想让你的分支保持和main分支同步,不要离得太远每天rebase一下,最后你merge到main。

dialog:

比如你从main上切了一个分支,改了一些东西,明天你发现有人已经又改了新东西已经merge到 main了,你不管它继续干你的?还是你会merge一次?

我会把main再merge到我的分支一次。

对啊,rebase和merge一样的,区别就是多了个提交记录,但我认为这个提交记录没有用啊。显得提交记录很多,实际上没有用。你的意图就是你从main上拉分支,做个 feature,就这么一件事,有一个 commit就行了啊。

我明白了,就是rebase让你的分支好像从你当初拉过来时一样中间没有提交点。

关于git rebase的使用:

git rebase的时候捅娄子了

idea使用git更新代码 : update project(git merge、git rebase)

IDEA中git的使用:https://cloud.tencent.com/developer/article/1408148

Git分支操作

git本地仓库 同步远程仓库的所有分支

Git分支管理策略

Git 分支管理策略总结 - 掘金

Git分支管理策略 - 阮一峰的网络日志

git冲突

如何用朴素方法处理 Git 冲突

git合并冲突解决方法 - ZhangRuoxu - 博客园

6. 解决合并的冲突【教程1 操作分支】| 猴子都能懂的GIT入门| 贝格乐(Backlog)

GitLab 在线合并解决冲突后导致互相合并的问题

巨坑的GitLab在线解决冲突(解决后做了反向合并代码的操作?)

拉代码,提代码,pr,mr流程

从gitlab拉取代码、提交代码 流程

Github代码fork之后,如何与原仓库进行同步

Pull Request 与 Merge Request 的区别

Github或GitLab上如何更新自己Fork的库,利用Fork库进行开发的整个流程_define_YIDA的博客-CSDN博客

在GitHub上更新fork的项目 – 行星带

Git回退

IDEA Git Reset 选项说明_LZ1151226的博客-CSDN博客

IDEA小技巧-Git的回滚&&强推&&代码找回_哔哩哔哩_bilibili

git使用技巧:

B站视频合集

我在工作中是如何使用 git 的

如何规范你的Git commit? - 知乎 (zhihu.com)

IDEA Local Changes窗口显示_子小路兵的博客-CSDN博客_idea local changes

Git三大分区的概念 - 掘金

Git使用的一些文章的更多相关文章

  1. 或许是介绍Android Studio使用Git最详细的文章

    欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/03/12/GitOnAS/ 前言 本文较长,图片很多很多,流量党慎入 使用Git已经有一段时间了,但是之前 ...

  2. GIT教程的好文章

    Git 教學(1):Git的基本使用 Git 教學(2):Git Branch 的操作與基本工作流程 Git 情境劇:告訴你使用 Git 時什麼情況該下什麼指令

  3. 使用git配置ssh的文章推荐

    https://blog.51cto.com/sgk2011/1925922 https://www.cnblogs.com/superGG1990/p/6844952.html https://bl ...

  4. Git快速入门

    如果你不想看长篇的Git教程,想快速了解Git的使用,那么本文可能会对你入门Git有所帮助.由于笔者用的是Windows系统,所以本文只写Git在Windows上的使用. 一.Git安装 去Git官网 ...

  5. 深入理解git,从研究git目录开始

    转发学习的啦. 似乎很少有人在读某个git快速教程的时候会说:“这个关于git的快速教程太酷了!读完了用起git来超级舒服,并且我一点也不怕自己会破坏什么东西.” 对git的初学者来说,刚接触git时 ...

  6. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  7. 探索.git目录

    .git目录 下面就开始进入.git目录,通过“ls”命令可以看到.git目录中的文件和子目录: 对于这些文件和目录,下面给出了一些基本的描述. hooks:这个目录存放一些shell脚本,可以设置特 ...

  8. 搭建Git本地服务器

    搭建Git本地服务器 参考文章:http://www.ossxp.com/doc/git/gitolite.html 当前任务,学习中... 公司小范围用法: 服务器上做的: .在服务器上建立一个用户 ...

  9. GIT入门篇-基本概念与操作

    GIT 首先必须说明的是, 这篇文章不是阐述GIT原理性和比较深入的文章.只是对于日常开发中比较常用的需求的总结和GIT这些命令大体的原理解释.所以掌握这个只能说能够应付一定的开发需求.但是如果你是个 ...

  10. Git版本管理荟萃

    用惯了svn,突然转到git难免有点不适,写个笔记好好备忘总结一番. 一.先看历史(imooc上的一个图): 二.git与svn GIT跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使 ...

随机推荐

  1. 下拉刷新 get请求 post请求 onLoad

       "enablePullDownRefresh": true 下拉刷新之后背景颜色  "backgroundColor": "#efefef&qu ...

  2. WPFMVVM实现ICommand与INotifyPropertyChanged接口

    话不多说直接上代码 INotifyPropertyChanged实现代码 internal class NotifyBase : INotifyPropertyChanged { public eve ...

  3. Prowide Core:SWIFT [tm] MT(FIN)消息传递的Java框架 开源

    Prowide Core(以前称为WIFE)是用于管理SWIFT MT消息的开源Java框架. 库的主要功能是针对所有MT消息类型的全面Java模型,以及简单易懂的解析和构建API. 该项目自2006 ...

  4. go环境 依赖管理 基本命令

    Go安装 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ Windows 选择Windows版本下载安 ...

  5. dism修改easyu中10PEx64.wim文件

    从easyu的iso镜像中提取出10PEx64.wim文件,新建一个空分区,比如Z: 1.获取wim映像索引信息,命令 Dism /Get-WimInfo /WimFile:10PEx64.wim,一 ...

  6. Linux 下查看mysql 加载的配置文件, 并且解决报错 “this is incompatible with sql_mode=only_full_group_by”

    # 查看命令地址 which mysql /usr/local/mysql/bin/mysql # 查看配置文件地址 /usr/local/mysql/bin/mysql --verbose --he ...

  7. WPF 入门教程DispatcherTimer计时器

    在 WinForms 中,有一个名为 Timer 的控件,它可以在给定的时间间隔内重复执行一个操作.WPF 也有这种可能性,但我们有DispatcherTimer控件,而不是不可见的控件.它几乎做同样 ...

  8. 8.class 类

    一.基础语法 class 类名 { } 二.类的属性 基础语法: class 类名 { 属性名: 数据类型 = 属性值; contructor(形参名: 数据类型) { this.属性名 = 属性值; ...

  9. JustAuth-第三方登录组件

    1.新增依赖 <dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth< ...

  10. Java-集合概要

    集合概要 Java集合类存放于 java.util 包中,是一个用来存放对象的容器. 集合的两个主要接口是 Collection接口 和 Map 接口. 图片来源:菜鸟教程 集合的优点 区别 集合 数 ...