git-flow là gì?
+ ++ git-flow là một tập các thao tác mở rộng của git nhằm cung cấp các thao tác repository (kho mã nguồn) ở mức cao dựa trên mô hình phân nhánh của Vincent Driessen. + xem chi tết ở đây +
+★ ★ ★
+ +Bản tóm tắt nãy sẽ cho bạn biết cách sử dụng cơ bản và hiệu quả của git-flow.
+ +★ ★ ★
+Một vài lời khuyên
+-
+
- Git flow cung cấp giao diện trợ giúp và đầu ra rất tuyệt vời. Hãy đọc chúng cẩn thận để xem điều kì diệu gì sẽ xảy ra ;) +
- Git Client - Sourcetree là một Git Client có giao diện GUI rất tiện lợi và cũng hỗ trợ luôn git-flow trên giao diện. +
- Git-flow là một giải pháp dựa trên merge. Nó không rebase các nhánh tính năng. +
★ ★ ★
+Cài đặt
+-
+
- Bạn cần cài đặt git trước khi có thể cài git-flow. +
- Git flow có thể hoạt động trên OSX, Linux và Windows. +
★ ★ ★
+OSX
+ Homebrew ++ $ brew install git-flow ++ Macports +
+ $ port install git-flow ++
Linux
++ $ apt-get install git-flow ++
Windows (Cygwin)
++ $ wget -q -O - --no-check-certificate + https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash ++
Bạn cần wget và util-linux để cài đặt git-flow.
++ Xem chi tiết về cách cài đặt git flow ở trang sau: git flow + wiki. +
+
Bắt đầu nào
+Git flow cần phải khởi tạo để có thể tùy chỉnh các cài đặt của dự án của bạn.
+★ ★ ★
+Khởi tạo
+ +Sau khi di chuyển tới thư mục dự án, chạy lệnh sau để khởi tạo git-flow.
++ git flow init ++
+ Bạn sẽ cần trả lời một số câu hỏi cho việc thiết lập git-flow sau câu lệnh khởi tạo. + Chúng tôi khuyên bạn nên sử dụng các giá trị [mặc định]. +
+ +Các tính năng
+ +-
+
- Phát triển các tính năng cho việc release sắp tới. +
- Về cơ bản chỉ tổ chức ở repos của các lập trình viên. +
★ ★ ★
+ +Bắt đầu một tính năng
+Phát triển tính năng mới bắt đầu từ nhánh phát triển'develop'. Ví dụ với tính năng MYFEATURE:
++ git flow feature start MYFEATURE ++
Lệnh này sẽ tạo ra một nhánh mới dựa trên nhánh 'develop' và chuyển sang nhánh mới này.
+ + +Kết thúc một tính năng
+ ++ Sau khi phát triển xong một tính năng, lệnh kết thúc tính năng sẽ thực hiện các thao tác: +
+-
+
- Merge nhánh tính năng - MYFEATURE vào nhánh 'develop' +
- Xoá nhánh tính năng +
- Chuyển sang nhánh 'develop' +
+ git flow feature finish MYFEATURE ++
Công bố tính năng
+ ++ Khi bạn làm việc với những người khác trên cùng một tính năng, + bạn sẽ cần công bố phần mã nguồn của bạn cho tính năng đó lên remote + để những người khác có thể cập nhập được. +
+ ++ git flow feature publish MYFEATURE ++
Lấy về tính năng
+ ++ Pull mã nguồn của tính năng được cập nhập bởi những thành viên khác. +
+ ++ git flow feature pull MYFEATURE ++
Tạo một bản release
+ +-
+
- リリースのための準備を行います。 +
- 軽微なバグフィックスを行ったり、リリースのため作業を行います。 +
★ ★ ★
+リリース準備開始
+ +リリース作業を開始するには、git flowのreleaseコマンドを使います
+ 'develop'ブランチから'release'ブランチを作成します + ++ git flow release start RELEASE [BASE] ++
[BASE]
はオプションで 'develop'ブランチの特定のCommitのハッシュ値を指定します。指定がない場合はHEADが使われます。
★ ★ ★
+'release'ブランチ作成後に修正をプッシュするには、'feature'の時と似たコマンドを使用します:
++ git flow release publish RELEASE ++
('release'リポジトリの修正のトラッキングをすることもできますgit flow release track RELEASE
)
リリース準備完了
+ +リリース準備の終了作業は、gitのリポジトリが大きく変化します:
+-
+
- 'release'ブランチを'master'にマージします。 +
- 'master'ブランチにリリース用のタグをつけます。 +
- 'develop'ブランチに'release'ブランチの内容がマージされます。 +
- 'release'ブランチが削除されます。 +
+ git flow release finish RELEASE ++
Sửa lỗi nóng
+ +-
+
- すぐに適用しなければいけないような、緊急の場合に使用します。 +
- 'master'ブランチのタグから、緊急対応用のブランチを作成します。 +
★ ★ ★
+緊急対応の開始
+ +他のgit flowコマンドと似た形で、hotfixを開始します
++ git flow hotfix start VERSION [BASENAME] ++
バージョンの引数は、ホットフィックスリリース名を指定します。 オプションとして開始するベースを指定出来ます。
+ +緊急対応の終了
+ +緊急対応の終了作業は、'develop'と'master'のブランチをマージします。加えて、'master'ブランチは緊急対応のタグが付けられます。
++ git flow hotfix finish VERSION ++
Các lệnh
+
Lưu ý
+★ ★ ★
+-
+
- コマンドのすべてをカバーしているわけではなく、重要なものだけカバーしています。 +
- もちろん、gitのコマンドは通常通りすべて使用することができます。git flowは単にgitのコマンドの集合です。 +
- 'support'ブランチの機能はまだベータ版です。それについては言及できません。 +
- もし翻訳して頂けるなら、統合してもらえると幸いです。 +
★ ★ ★
+