Git 操作概述 – 分支操作 (git branch)

本文描述了使用已安装在Ubuntu18.04LTS上的Git(版本2.17.1)。

「ブランチ」とは什么意思?

Git中的”branch”是一项方便的功能,可以在管理历史记录时保持发布状态并分岔记录历史流,同时进行功能添加和错误修复。

在同一个仓库中,分支的分叉不受其他分支的影响,因此可以同时进行多项更改。

我认为在实际团队工作中,经常会使用Git。在这种情况下,我认为每个团队都有自己的规则,例如Git flow或Github flow。但是,这次我只描述基本操作。


确认分支的状态

首先,我们要确认当前的分支。

git branch
* master

这个仓库中存在一个主分支,并且目前正在主分支上进行工作。


创建分支

在利用分支时,事先确定规则非常重要。
通常情况下,我们可以将主分支(master branch)用作发布用途,并在其他分支上创建功能添加或错误修复等任务的主题分支(topic branch)。

我将创建一个名为dev的分支,与主分支master相分离。

git branch dev
git branch

  dev
* master

创建了dev分支。
通过*,可以确认自己所在的分支是master分支。


切换到任务分支

一旦创建了分支,我会移动到该分支上开始工作。

git checkout dev
git branch

* dev
  master

可以确信*已经更改为dev分支。


合并

在完成分支工作后,将其集成到主干分支中。

我已经在dev分支上进行了几次提交。

git log --oneline

c7bb542 (HEAD -> dev) dev.02
38746b8 dev.01
dc65374 (master) sixth commit
08c1848 fifth commit
07dc0ac fourth commit
11c93c0 (tag: ver.0.0.2) third commit
cd4ce0b (tag: ver.0.0.1) second commit
76d180f initial commit

目前的 dev 分支的提交已超过了 master 分支的提交。

我将dev分支的内容合并到master分支中。步骤如下。

移动到主分支(集成分支)。

git checkout master

将主题分支合并到集成分支。

git merge dev
git log --oneline

c7bb542 (HEAD -> master, dev) dev.02
38746b8 dev.01
dc65374 sixth commit
08c1848 fifth commit
07dc0ac fourth commit
11c93c0 (tag: ver.0.0.2) third commit
cd4ce0b (tag: ver.0.0.1) second commit
76d180f initial commit

dev分支中的内容已合并到master分支。


删除分支

确认合并分支后,我们将删除主题分支。
※根据规定,不一定需要在合并后立即删除,需注意。

首先,我会检查分支。

git branch

  dev
* master

由于仍然存在dev分支,我将尝试删除它。

git branch -d dev
git branch

* master

我成功地删除了dev分支。


在终端上显示分支

当你开始使用分支时,你将在进行工作时通过命令确认当前分支的位置。我所了解的方法是针对Ubuntu系统,在终端中显示当前分支的名称,以避免发生”我正在不同的分支上工作”这样的错误。

在Ubuntu中,HOME目录下有一个名为.bashrc的隐藏文件。
只需打开这个文件,将以下代码粘贴到文件的最后一行,就可以在终端的目录名称旁边显示Git分支。

# ターミナルにgitブランチを表示させる
function parse_git_branch {
    git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/'
}
function promps {
    # 色は気分で変えたいかもしれないので変す宣言しておく
    local  BLUE="\[\e[1;34m\]"
    local  RED="\[\e[1;31m\]"
    local  GREEN="\[\e[1;32m\]"
    local  WHITE="\[\e[00m\]"
    local  GRAY="\[\e[1;37m\]"

    case $TERM in
        xterm*) TITLEBAR='\[\e]0;\W\007\]';;
        *)      TITLEBAR="";;
    esac
    local BASE="\u@\h"
    PS1="${TITLEBAR}${GREEN}${BASE}${WHITE}:${BLUE}\W${GREEN}\$(parse_git_branch)${BLUE}\$${WHITE} "
}
promps

本文的索引页面

Git操作总结

请参考以下网站

    • Qiita:git branch関連コマンド

 

    Qiita:プロンプトをカスタマイズしてgitブランチを表示する
广告
将在 10 秒后关闭
bannerAds