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ブランチを表示する