バージョン管理ツール Git - ブランチ管理
Branch は Git のキラー アプリケーションです。他のバージョン管理ツールとは異なり、git はブランチの作成と切り替えが非常に効率的です。
ブランチの概要
ブランチとは何ですか?私たちがよく知っているシナリオから始めましょう。発売された製品には新しい機能を追加する必要があります。この時点で、元のブランチで開発を続けると、すでに起動されているアプリケーションなので、起動する前にテストする必要があるため、非常に不便になります。一般に、私たちのアプローチは、新しいブランチを作成し、この新しいブランチ上で新しい機能を開発し、テスト後にそれらをメイン ブランチにマージすることです。
#ブランチの作成と切り替え
私のリポジトリ ブランチの現在の状況は次のとおりです:
ブランチの作成
次に、新しいブランチ dev を作成します。ブランチを作成し、ブランチを表示するコマンドは次のとおりです。git branch 分支名 git branch # git branch dev # git branch dev * master
ブランチの切り替え
ブランチは正常に確立されました。新しいブランチに切り替えましょう。ブランチを切り替えるコマンドは次のとおりです git checkout ブランチ名# git checkout dev Switched to branch 'dev'
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 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 checkout -b dev
この時点で、オンライン上に重大なバグが発生しており、緊急に対処する必要があることが判明しました。まず、master ブランチに切り替える必要があります。しかし、切り替え中にエラーが発生しました
$ 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)
新功能完成后,提交到版本库。
冲突解决
现在我们新的功能完成了,那么就可以把它合并到master分支上了。现在我们来演示合并时遇到冲突时,如何去解决。
$ git checkout master Switched to branch 'master' $ 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 'hello world'; ======= echo 'version 1.1 finished'; >>>>>>> dev
<br/>
$ cat index.php <?php echo 'version 1.1 finished';
然后再add并提交,最后在提交
$ git commit -m 'merge dev'
这个时候就合并成功了,现在就去删除dev分支吧。
$ git branch -d dev
以上がバージョン管理ツール Git - ブランチ管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









gitリポジトリを削除するには、次の手順に従ってください。削除するリポジトリを確認します。リポジトリのローカル削除:RM -RFコマンドを使用して、フォルダーを削除します。倉庫をリモートで削除する:倉庫の設定に移動し、「倉庫の削除」オプションを見つけて、操作を確認します。

GITコミットは、プロジェクトの現在の状態のスナップショットを保存するために、ファイルの変更をGITリポジトリに記録するコマンドです。使用方法は次のとおりです。一時的なストレージエリアに変更を追加する簡潔で有益な提出メッセージを書き込み、送信メッセージを保存して終了して送信を完了します。

Git Commitをフォールバックするには、Git Reset - Hard Head〜nコマンドを使用できます。ここで、nはコミット数の数を表します。詳細な手順には、次のものがあります。 - ハードオプションを使用して、フォールバックを強制します。指定されたコミットに戻るためにコマンドを実行します。

GITサーバーをパブリックネットワークに接続するには、5つのステップが含まれます。1。パブリックIPアドレスのセットアップ。 2。ファイアウォールポート(22、9418、80/443)を開きます。 3。SSHアクセスを構成します(キーペアを生成し、ユーザーを作成します)。 4。http/httpsアクセスを構成します(サーバーをインストールし、許可を構成); 5.接続をテストします(SSHクライアントまたはGITコマンドを使用)。

GITを介してSSHを検出するには、次の手順を実行する必要があります。SSHキーペアを生成します。 Gitサーバーに公開キーを追加します。 sshを使用するようにgitを構成します。 SSH接続をテストします。実際の条件に応じて可能な問題を解決します。

Gitアカウントに公開キーを追加する方法は?ステップ:SSHキーペアを生成します。公開キーをコピーします。 gitlabまたはgithubに公開キーを追加します。 SSH接続をテストします。

コード競合とは、複数の開発者が同じコードを変更し、GITが変更を自動的に選択せずにマージすると発生する競合を指します。解決手順には、競合するファイルを開き、競合するコードを見つけます。コードを手動でマージし、競合マーカーに保持する変更をコピーします。競合マークを削除します。変更を保存して送信します。

GITで空のフォルダーを送信するには、次の手順に従ってください。1。空のフォルダーを作成します。 2.フォルダーをステージング領域に追加します。 3.変更を送信して、コミットメッセージを入力します。 4。(オプション)変更をリモートリポジトリに押します。注:空のフォルダーの名前は開始できません。フォルダーが既に存在する場合は、git addを使用して追加する必要があります。
