banner
RustyNail

RustyNail

coder. 【blog】https://rustynail.me 【nostr】wss://ts.relays.world/ wss://relays.world/nostr

Gitに関する内容

GIT#


分区#

  • 工作区

コンピュータで見えるディレクトリ

  • ステージングエリア

git addを実行すると、変更されたファイルがステージングエリアに追加されます。

  • リポジトリ

git commitを実行すると、ステージングエリアのファイルがリポジトリにコミットされます。


git 分区図#

1352126739_7909.jpg#

基本操作#

ファイル操作#
  • git add xxxxxx.java /folder
  • git commit -m -v
  • git stash pop
  • git reset head --hard

git stash/pop#

変更を一時的に保存し、復元するために使用されます。ブランチをまたいで使用できます

注:add する前に stash を実行することができます!(つまり、ステージングエリアに追加されていない場合)


commit message の規則#

  • feat (module):新機能(feature)。
  • fix:バグ修正、QA が見つけたバグまたは開発者が見つけたバグの修正。
  • docs:ドキュメント(documentation)。
  • style:スタイル(コードの実行に影響を与えない変更)。
  • refactor:リファクタリング(新機能の追加やバグ修正ではないコードの変更)。
  • perf:パフォーマンスの最適化、エクスペリエンスの向上など。
  • test:テストの追加。
  • chore:ビルドプロセスや補助ツールの変更。
  • revert:前のバージョンに戻す。
  • merge:コードのマージ(コンフリクトの修正など)。

commit message の規則#

ss


基本操作#

ブランチ操作#
  • git checkout -b branch
  • git merge branch
  • git rebase branch
  • git pull remote branch
  • git push remote branch

image
image


merge の衝突#

<<<<<<< HEAD:index.html
<div id="footer">contact : [email protected]</div>
=======
<div id="footer">
 please contact us at [email protected]
</div>
>>>>>>> iss53:index.html

git merge --abort#


merge の特徴#

利点#
  • 簡単に使用できる
  • 各ステップの記録を保持する
  • 元のブランチの記録を保持する
欠点#
  • 各ステップの記録を保持する

rebase#

merge と同様にブランチをマージする主な機能ですが、いくつかの異なる詳細があります。

特定のブランチにコミットされたすべての変更を別のブランチに移動することができます。


rebase#

image

ブランチexperimentgit rebase masterを実行し、変更をC3にリベースします。


rebase と merge の違い#

1. 使用の難しさ

merge は rebase よりも理解しやすいです。

2. Git 操作履歴の記録結果が異なる

merge はすべてのマージ操作を記録しますが、rebase は直列のコミット記録のみを保持します。


merge 後の履歴#

微信图片_20210709232045.png


過多なマージ記録#

image


rebase 後の履歴#

微信图片_20210709232119.png


分岐協力#

Git Work Flow#


Git Work Flow#

カテゴリ#

  • Git Flow
  • GitHub Flow
  • GitLab Flow

Git Flow#

Git ブランチ機能を基にした協力モデル

ブランチの種類#
  • Master 最新のリリース可能なバージョン
  • Dev 最新の開発進捗
  • Realease プレリリースブランチ
  • HotFix 緊急のバグ修正ブランチ
  • Feature モジュール開発ブランチ

一般的な手順#

  1. master から dev ブランチを作成します。
  2. dev から各 feature ブランチを作成し、feature 上で開発を行います。
  3. 開発が完了した feature は dev にマージされます。
  4. ある段階の機能開発が完了したら、テストなどのプレリリースのためにリリースブランチが作成されます。
  5. プレリリース中に見つかった問題は、リリースで修正され、修正が dev にマージされます。6、リリーステストが合格したら、master にマージされます。また、master にバージョン記録がtagされます。
  6. 期間中にオンラインでバグが発生した場合、緊急の問題を解決するために master から hotfix ブランチが作成され、master と dev にマージされます。[特殊]

微信图片_20210710000300.png#

Github Flow#

Git Flow にforkPull Requestを追加したもの
微信图片_20210710003940.png


微信图片_20210710003940.png

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。