四时宝库

程序员的知识宝库

掌握强大的 Git 变基命令(git基本操作命令)

#秋日生活打卡季#

通过git worktree实现同时在两个分支上进行开发

在实际的开发过程中,你是否也需要经常来回切换分支,如果是,那么这篇文章介绍的方法或者正合适你。

频繁切换分支的情况

场景1:协助同事

第一种场景是你正在自己的分支(my_feature)上做着功能的开发,这时候你的同事给你发信息说,帮她看一个问题,分支是:other_feature,通常的情况,你会采用以下的步骤:

git使用技巧之分支与标签(保不属于家庭干预的常用技巧的是标签观察聚焦)

一.分支(branch)

常用于开发新功能或者修正bug,分支名称一般不会用版本号,根据使用场景去创建分支名称,常用的分支名称可能有dev,表示开发分支

1)分支命令:

git branch //查看分支列表

git branch name //创建分支 name为分支名称,比如创建dev分支,命令为 git branch dev

Git 克隆项目(仓库)到本地后拉取其他远程分支

  • 从 GitHub 克隆远程仓库
# 克隆 gld 仓库到本地
git clone git@github.com:geometryolife/gld.git


# 进入项目的根目录
cd gld


# 默认克隆项目的主分支,其他分支并没有被克隆到本地
git branch -a


=== Output ===
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/img
  remotes/origin/main

git下拉项目,创建自己分支流程(git下拉代码命令)

git拉取新分支(git创建分支并推送到远程)

前言

开发中经常要拉取各种分支再合并到主干,之前都是用souretree软件来操作,这次用git命令来操作。

1.新建分支并切换到dev

此步骤是在创建本地dev仓库,远程dev未创建

git checkout -b dev //创建并切换分支

相当于

程序员一定能用到的git命令:分支+暂存+回退+标签+创建项目仓库


分支操作:

  1. git branch 创建分支
  2. git branch -b 创建并切换到新建的分支上
  3. git checkout 切换分支
  4. git branch 查看分支列表
  5. git branch -v 查看所有分支的最后一次操作
  6. git branch -vv 查看当前分支

git的远程分支是干啥的,和本地的有什么区别?

不知道大家有没有经历过,当我们切换到了一个新的分支想要提交代码的时候,总会遇到这样的错误。

我们把日志里的英文翻译过来是说,我们当前的分支没有设置任何上游分支。然后git提示我们可以运行下面这行代码来设置远程的上游,这样我们就可以push成功了。

当然如果我们push的时候执行的不是git push,而是后面再加上origin的话,就可以push成功了。比如这样:

那么这是什么原因呢?这个origin分支又是什么意思呢?我们今天就来讨论一下这个问题。

Git常用套路(03)合并分支(git基本操作以及分支问题)

  • 本文前提:本地和远程存在master、test、dev三个分支,并且一一对应,本地dev开发完成后,要合并到test,test测试完成后合并到master

1、从dev合并到test

正常的场景中,master和test两个分支是禁止普通开发人员直接push的,现在讨论的是具有权限的人员的操作。
在开发当中无论是否要合并分支,无论在哪个分支,注意本地分支要在commit以后push到远程,要首先保持同一个分支的一致性。
1 首先切换到dev分支,执行commit和push
2 有权限的人员在每个分支 git pull 拉取所有代码以后,从dev转到test
git checkout test
3 然后从dev合并到test
git merge dev
注意:这种合并一般情况下使用的是快进模式(Fast-forward),也就是直接把test指向dev的当前提交,
所以合并速度非常快。但这种模式下,删除dev分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。命令如下:
git merge --no-ff -m "merge dev to test with no-ff" dev
因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
建议开发中都用这种 no-ff 模式
4 现在本地dev已经合并到test了,下面把本地test的变化提交到远程(当前在test分支):
git push
我们在远程服务器上面看一下test分支的网络图:

Git教学篇5-git必杀技特性,分支管理

前言

今天这篇文章我们继续git教学的第五篇,主要讲解的是git的分支管理,这也号称是git的‘必杀技特性’。

git

分支是什么?

git通过保存一系列不同时刻的文件快照来实现数据存储。

每次在进行git提交时,都会生成一个提交对象,这个提交对象都会产生一个指向暂存区内容快照的指针。而且每个提交对象中都会包含一个指向上一次提交(父提交对象)的指针。

<< 1 2 3 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接