検索
ホームページ開発ツールGitバージョン管理ツール Git - ブランチ管理

Branch は Git のキラー アプリケーションです。他のバージョン管理ツールとは異なり、git はブランチの作成と切り替えが非常に効率的です。

ブランチの概要

ブランチとは何ですか?私たちがよく知っているシナリオから始めましょう。発売された製品には新しい機能を追加する必要があります。この時点で、元のブランチで開発を続けると、すでに起動されているアプリケーションなので、起動する前にテストする必要があるため、非常に不便になります。一般に、私たちのアプローチは、新しいブランチを作成し、この新しいブランチ上で新しい機能を開発し、テスト後にそれらをメイン ブランチにマージすることです。

#ブランチの作成と切り替え

私のリポジトリ ブランチの現在の状況は次のとおりです:

バージョン管理ツール Git - ブランチ管理

ブランチの作成

次に、新しいブランチ dev を作成します。ブランチを作成し、ブランチを表示するコマンドは次のとおりです。

git branch 分支名
git branch

# git branch dev
# git branch
  dev
* master

ブランチの切り替え

ブランチは正常に確立されました。新しいブランチに切り替えましょう。ブランチを切り替えるコマンドは次のとおりです git checkout ブランチ名

# git checkout dev
Switched to branch 'dev'

バージョン管理ツール Git - ブランチ管理

次に、新しいブランチにいくつかの変更を加えてコミットします。次に、「Go」を master ブランチに切り替え、いくつかの変更を加えて送信します。次に、ブランチのステータスを確認します。

git vim config.php # 修改config.php文件
git add . && git commit -m 'add config.php'

git checkout master # 切换到主分支
git vim config.php
git add . && git commit -m 'change config.php'

バージョン管理ツール Git - ブランチ管理

$ git log --oneline --decorate --graph --all
* ca4589c (HEAD -> master) add config file
| * 43a5a8f (dev) add config.php
|/
* 19e3186 add index.php
* 9cc82f9 first commit

ブランチの作成と切り替えを行う 1 つのコマンド

git checkout -b 新分支名

# #Branchマージまず、非常に一般的なシナリオを紹介します。

    システムがオンラインになりました
  • システムは新しい機能で更新する必要があるため、新しいブランチ (dev) を作成し、このブランチで作業します。
  • この度、システムに突然問題が発生し、緊急の調査と処理が必要となりました。
  • # したがって、この時点では、まずオンライン バージョン (マスター) に切り替えてから、新しいブランチ (fixbug) を作成し、新しいブランチでエラーを修正する必要があります
  • テストが完了したら、オンライン ブランチに切り替えて、fixbug ブランチをマージし、変更をオンライン ブランチにプッシュします。
  • 最後に、dev ブランチに切り替えて作業を続けることができます。
  • 現在のリポジトリのステータスは次のとおりです:

次に、新しいブランチを作成し、新しいブランチを追加する必要があります。新しいブランチ関数のもの。 バージョン管理ツール Git - ブランチ管理

git checkout -b dev

次に、新しいブランチにいくつかの変更を加えます。

この時点で、オンライン上に重大なバグが発生しており、緊急に対処する必要があることが判明しました。まず、master ブランチに切り替える必要があります。しかし、切り替え中にエラーが発生しました バージョン管理ツール Git - ブランチ管理

$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
        login.php
Please commit your changes or stash them before you switch branches.
Aborting

上記のエラーがよく発生します。これは、

ブランチをマージするとき、ワークスペースとステージング領域が「クリーン」である必要があるためです

。上記の要件を達成するには 2 つの方法があります

変更の送信
  • 一時ストレージ
  • ここにあります ステージング手法を使用してデモします
  • $ git stash
    $ git checkout master
    Switched to branch 'master'

    当你切换分支的时候,Git 会重置你的工作目录,使其看起来像回到了你在那个分支上最后一次提交的样子。

    现在,我们新建fixbug分支,在这个分支上修复bug。

    $ git checkout -b fixbug

    合并分支

    修复完成且测试通过时,就可以把它合并到master上了。合并使用git  merge 分支名

    $ git checkout master Switched to branch 'master' 
    $ git merge fixbug

    删除分支

    这个时候,fixbug功能已经完成了,可以将它给删除掉了。

    $ git branch -d fixbug 
    Deleted branch fixbug (was cca73bb).

    现在,我们可以继续在dev分支上工作了。我们需要把之前暂存的内容取出来。

    $ git checkout dev
    
    $ git stash pop
    On branch dev
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
            modified:   login.php
    
    no changes added to commit (use "git add" and/or "git commit -a")
    Dropped refs/stash@{0} (2f8476defbaa813e31f3e1b081f5b88416b2ff50)

    新功能完成后,提交到版本库。

    バージョン管理ツール Git - ブランチ管理

    冲突解决

    现在我们新的功能完成了,那么就可以把它合并到master分支上了。现在我们来演示合并时遇到冲突时,如何去解决。

    $ git checkout master
    Switched to branch &#39;master&#39;
    
    $ git merge dev
    Auto-merging index.php
    CONFLICT (content): Merge conflict in index.php
    Automatic merge failed; fix conflicts and then commit the result.

    提示我index.php合并的时候有冲突,我们来看看该文件

    $ cat index.php
    <?php
    
    <<<<<<< HEAD
    echo &#39;hello world&#39;;
    =======
    echo &#39;version 1.1 finished&#39;;
    >>>>>>> dev
    <br/>
    $ cat index.php 
    <?php 
    echo &#39;version 1.1 finished&#39;;

    然后再add并提交,最后在提交

    $ git commit -m &#39;merge dev&#39;

    这个时候就合并成功了,现在就去删除dev分支吧。

    $ git branch -d dev

以上がバージョン管理ツール Git - ブランチ管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Github:開発者とプロジェクトのためのプラットフォームGithub:開発者とプロジェクトのためのプラットフォームApr 13, 2025 am 12:01 AM

GitHubのコア機能には、バージョン制御、支店管理、コードレビュー、問題追跡、プロジェクト管理が含まれます。 1。バージョン制御とブランチ管理はGITに基づいており、コードの変更と実験開発の追跡を可能にします。 2。コードレビューは、PullRequestを通じて実装され、コードの品質とチームコラボレーションを改善します。 3.問題の追跡とプロジェクト管理は、プロジェクトの透明性とトレーサビリティを改善するために、問題とプロジェクト管理委員会を通じて実行されます。

github in Action:例とユースケースgithub in Action:例とユースケースApr 12, 2025 am 12:16 AM

GitHubは、ソフトウェア開発の効率と品質を向上させるための強力なツールです。 1)バージョン制御:GITを介してコードの変更を管理します。 2)PullRequests:コードレビューを実施し、コードの品質を改善します。 3)問題:バグとプロジェクトの進捗を追跡します。 4)githubactions:建設、テスト、展開プロセスを自動化します。

Git vs. Github:バージョンコントロールとコードホスティングGit vs. Github:バージョンコントロールとコードホスティングApr 11, 2025 am 11:33 AM

Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITは、コードバージョンを管理し、ローカル操作をサポートするために使用されます。 GitHubは、問題の追跡やPullRequestなどのオンラインコラボレーションツールを提供しています。

簡単な言葉でGitとは何ですか?簡単な言葉でGitとは何ですか?Apr 09, 2025 am 12:12 AM

GITは、開発者がファイルの変更を追跡し、協力してコードバージョンを管理するのに役立つオープンソース分散バージョン制御システムです。そのコア関数には、1)レコードコードの変更、2)以前のバージョンへのフォールバック、3)共同開発、4)並列開発のためのブランチの作成と管理。

gitはgithubと同じですか?gitはgithubと同じですか?Apr 08, 2025 am 12:13 AM

gitとgithubは同じものではありません。 Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITはコードバージョンの管理に使用され、GitHubはオンラインコラボレーション環境を提供します。

HTMLにGitHubを使用する方法は?HTMLにGitHubを使用する方法は?Apr 07, 2025 am 12:13 AM

GitHubを使用してHTMLプロジェクトを管理する理由は、バージョン制御、共同開発、作品の提示のためのプラットフォームを提供するためです。特定の手順には次のものが含まれます。1。gitリポジトリの作成と初期化、2。htmlファイルを追加および送信します。3。githubにプッシュ、4。githubpagesを使用してWebページを展開します。さらに、GitHubは、HTMLプロジェクトの最適化とコラボレーションを支援するために、コードレビュー、発行、およびPullRequest機能もサポートしています。

gitまたはgithubから始めるべきですか?gitまたはgithubから始めるべきですか?Apr 06, 2025 am 12:09 AM

GITから始めることは、バージョン制御原則を深く理解するためにより適しており、GitHubから始めることは、コラボレーションとコードホスティングに焦点を当てるのに適しています。 1.GITは、コードバージョン履歴の管理に役立つ分散バージョン制御システムです。 2。Githubは、Gitに基づいたオンラインプラットフォームであり、コードホスティングとコラボレーション機能を提供します。

MicrosoftはGitまたはGithubを所有していますか?MicrosoftはGitまたはGithubを所有していますか?Apr 05, 2025 am 12:20 AM

MicrosoftはGitを所有していませんが、Githubを所有しています。 1.GITは、2005年にLinus Torvazによって作成された分散バージョン制御システムです。2。Githubは、GITに基づくオンラインコードホスティングプラットフォームです。 2008年に設立され、2018年にMicrosoftに買収されました。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。