初学者也想要使用git和git-flow
首先
近期,我终于开始适应使用Git了。但是发生了这样一件事情。当我在进行回顾时,发生了错误,我误删了分支,而且不知道在哪个提交中做了什么。因此,至少我想要使用Issue进行管理,并顺便学习一下git-flow!这就是我考虑的原因。(注意:我自己也是初学者。如果有任何问题,请留下评论!)
补充说明
这样,也可以在本地切换并将完成形的develop推送出去。因为我不清楚其中哪个是对的,所以请告诉我知道的人。
做好准备
我们准备一个代码仓库。(如果你是直接克隆并使用,可以跳过此步骤)
仓库创建时只是有一些东西在里面。如果可能的话,请参考GitHub上的方式来试一下。
$ echo "# リポジトリ名" >> README.md
$ git init
(既に初期ファイルを用意している場合)
$ git add *
(これからファイルを用意する場合)
$ git add README.md
# 以降は共通
$ git commit -m "initial commit"
$ git remote add origin リポジトリのURL
$ git push -u origin master
现在仓库的准备工作已经完成。接下来我们来试试git-flow吧。
Git flow (Git工作流)
如果不安裝的話無法使用,所以先安裝吧。如果是Mac系統,可以使用brew進行安裝。
# インストールされているかの確認
$ brew list | grep git-flow
# インストール方法
$ brew install git-flow
git-flow的初始化
当您准备好仓库时,您进行了初始化。让我们同样初始化git-flow吧。
$ git flow init
输入连击没问题。我们来确认一下创建的分支吧。
$ git branch -a
* develop
master
remotes/origin/master
develop分支已经添加了呢。另外,通过*号可以知道当前处于develop分支。请查看远程分支。从中可以得知,现在只有master分支被注册到远程分支了。我们需要进行push来注册一下。
$ git push origin develop
请确认是否已经完成注册。
$ git branch -a
* develop
master
remotes/origin/develop
remotes/origin/master
让我们提出一项议题
來吧,我已經變成了一個在這個feature/分支上不斷開發的人。雖然我無法回頭看,但卻造成了一個充斥著無法理解的提交的悲劇倉庫。好的,我們來建立一個議題吧。
我们先到刚刚创建的存储库,点击问题(Issue)然后跳转到创建页面。
首先,请确认以下内容。
关于开发者的任务管理,在GitHub上进行的经验分享。
我这样做了。
创建CRUD的标题字段
# 概要
CURD機能を作成する
## タスク
- [ ] データベースのテーブルの作成
- [ ] データを扱うモデルの作成
- [ ] リクエストを扱うコントローラーの作成
- [ ] 表示するビューの作成
第二个
标题栏
创建数据库表格
## 概要
データベースのテーブルを作成する
## 親課題
#1 CRUDの作成
## タスク
- [ ] migration してテーブルの素を用意
- [ ] users テーブルのmigration
- [ ] articles テーブルのmigration
- [ ] tags テーブルのmigration
- [ ] article_tag テーブルのmigration
- [ ] migrate してテーブルを作成
既然我们已经创建了这个问题(issue),现在让我们开始实际操作吧。
切断分支
在切割分支之前
让我们创建一个新的工作分支并开始工作。这次我们使用git-flow,所以命令会有一些变化。
$ git flow feature start <ブランチ名>
我就是这样做的。
$ git flow feature start db_migrations_#2
确认
$ git branch -a
develop
* feature/db_migrations_#1
master
remotes/origin/develop
remotes/origin/master
由于远程尚未反映该变化,我们应该进行推送操作。
$ git flow feature publish #2_db_migrations
就算吧。获取拉取最新存储库状态的方法。
$ git flow feature pull origin db_migrations_#2
开始做作业
由于建立了分支,终于可以开始开发了,没什么特别变化的。
# ファイルやフォルダが増えた
$ git add *
$ git add ファイル名
# コミット
$ git commit -m "コメント"
在推动的方法中,有两种方式可供选择。
# git flow を用いる場合
$ git flow feature publish db_migrations_#1
# どちらかでpush
$ git push origin feature/db_migrations_#1
$ git push origin HEAD
我参考了这里的提交信息。
Git的提交信息的写法。
Pull 请求
我们特地设立了Issue,并使其可以进行管理,因此我们肯定希望将其关联起来。在Pull Request页面右侧的底部第二个位置有一个名为Linked issue的选项。请从那里进行选择。
此外,在Merge pull request的评论栏内,我们需要添加“close #2”。当合并完成时,问题将被自动关闭。
最后,请删除合并后的分支。
在本地做的事情
我最早开始了git flow,所以必须完成它。具体如下所示。
$ git flow feature finish db_migrations_#2
另外,我们也应该删除剩余的远程分支。
# 確認
$ git remote show origin
# 削除
$ git remote prune origin
让我们获取远程最新的状态,从 develop 分支中获取。
$ git fetch origin develop
$ git merge origin/develop
# 2つを1度に行う場合
$ git pull origin develop
请参考发布说明。
印象
使用feature作为前缀创建分支真是非常麻烦。还有本地分支的删除也是。解决这个问题让我个人非常高兴。下次我还想尝试使用项目管理这样的功能。初学GitHub上的项目管理对于新员工。
如果您想获取已经创建的分支等情况的话,这里可以作为参考。
・通过图表和命令来理解!使用git-flow进行开发的流程和方法 (1/2)
请阅读以下内容,并以中文原生态方式进行改写,只需提供一种选择:
参考。
公式秘籍
· git-flow秘籍
参考
· 尝试git-flow
· 在命令行中安装并使用Git Flow
· git-flow是什么?
· 总结git-flow使用的分支
· 使用PullRequest的GitHub开发流程
· 将GitHub的问题与提交相关联
· 使用git-flow的开发流程