この記事はBitbucketが後援しました。 SitePointを可能にしてくれたスポンサーをサポートしてくれてありがとう。
目的
このスペースをテーマにしたチュートリアルで、gitの基本を学びます。
ミッションブリーフ
あなたの使命は、チュートリアルを完了し、チームのすべての宇宙ステーションを追跡することにより、Gitのロープを学ぶことです。このチュートリアルでカバーされているコマンド:
gitクローン、git config、git add、git status、git commit、git push、git pull、git branch、git checkout、and git merge
オーディエンス
前提条件
30分
GitとBitbucket Cloudは初めてです
gitをインストールしました
BitSbucketアカウントがあります
gitリポジトリを作成
新しいBitbucket Space Stationの管理者として、整理する必要があります。宇宙ステーションのファイルを作成するときは、宇宙のどこにいても、チームメイトと共有しやすいファイルを1か所に保ちます。 Bitbucketを使用すると、リポジトリにすべてを追加することを意味します。作成しましょう!
リポジトリに関するいくつかの楽しい事実
1つのファイルで作業しているか複数のファイルで作業しているかどうかにかかわらず、ローカルリポジトリ内のすべてのファイルにアクセスできます。
そのリポジトリのURLがある場合は、BitSbucketアカウントなしで公開リポジトリを表示できます。
各リポジトリは、ユーザーアカウントまたはチームに属します。ユーザーアカウントの場合、そのユーザーはリポジトリを所有しています。 チームの場合、そのチームはそれを所有しています。
リポジトリの所有者は、リポジトリを削除できる唯一の人です。リポジトリがチームに属している場合、管理者はリポジトリを削除できます。
コードプロジェクトは、複数のアカウントにまたがる複数のリポジトリで構成できますが、単一のアカウントからの単一のリポジトリでもあります。
各リポジトリには2 GBのサイズの制限がありますが、リポジトリを1 GB以下に保つことをお勧めします。
ステップ1。リポジトリを作成
最初に、Bitbucketで作成したリポジトリは、コードが含まれていなくては空になります。すぐにいくつかのファイルを追加し始めるので、それは大丈夫です。このBitbucketリポジトリは、ファイルの中央リポジトリになります。つまり、他の人は許可を与えると、他の人がそのリポジトリにアクセスできます。リポジトリを作成した後、バージョンをローカルシステムにコピーします。1つのリポジトリから更新してから、それらの変更をもう1つのレポに転送できます。
リポジトリを作成するには、次のことを行います
bitbucketから、[リポジトリ]> [ページの上部にリポジトリ]ボタンをクリックします。
システムには、新しいリポジトリページの作成が表示されます。ダイアログの内容を確認するために時間をかけてください。リポジトリタイプを除き、このページに入力するすべてのものは後で変更できます。
名前フィールドにBitBucketStationLocationsを入力します。 Bitbucketは、リポジトリのURLでこの名前を使用します。たとえば、ユーザーthe_bestがashough_repoというリポジトリを持っている場合、そのリポジトリのURLはhttps://bitbucket.org/the_best/awesome_repo。
になります。
アクセスレベルの場合、これは選択されたプライベートリポジトリボックスです。プライベートリポジトリは、あなたとあなたがアクセスできるものにのみ表示されます。このボックスがチェックされていない場合、誰もがあなたのリポジトリを見ることができます。
リポジトリタイプのGitを選択します。リポジトリの作成をクリックした後、リポジトリタイプを変更できないことに注意してください。
[リポジトリの作成]をクリックします。 Bitbucketはリポジトリを作成し、その概要ページを表示します
ステップ2。新しいリポジトリを探索してください
作成したばかりのリポジトリを探索するために時間をかけてください。リポジトリの概要ページ:をご覧ください
ナビゲーションメニューのアイテムをクリックして、それぞれの背後にあるものを確認します。これらのアイテムをナビゲートするために利用できるショートカットを表示するには、?を押しますか?キーボードのキー。
メニューバーのCommitsオプションをクリックすると、リポジトリのコンテンツを作成していないため、コミットがないことがわかります。リポジトリはプライベートで、リポジトリに誰も招待していないため、リポジトリのコンテンツを今すぐ作成または編集できるのは、リポジトリの所有者です。
gitリポジトリをコピーしてファイルを追加します
宇宙ステーションファイルを追加して共有する場所があるので、ローカルシステムから到達する方法が必要です。それをセットアップするには、Bitbucketリポジトリをシステムにコピーします。 Gitとは、リポジトリを「クローニング」するものとしてコピーすることを指します。リポジトリをクローンすると、Bitbucketサーバー(GitがOriginとして知っている)とローカルシステムの間に接続を作成します。
ターミナルからのGitおよび非GITコマンド全体を使用しようとしています。コマンドラインをこれまで使用したことがない場合は、コマンドラインクラッシュコースでどこで見つけるかを学びましょう。
ステップ1。リポジトリをローカルシステムにクローン
にクローンします
デスクトップからブラウザと端末ウィンドウを開きます。端子ウィンドウを開いた後、次のことを実行します
自宅(〜)ディレクトリに移動します。
Bitbucketをもっと使用すると、おそらく複数のリポジトリで作業するでしょう。そのため、これらすべてのリポジトリを含むディレクトリを作成することをお勧めします。
リポジトリを含むディレクトリを作成します。
$ cd ~
端末から、作業するディレクトリを新しいReposディレクトリに更新します。
$ mkdir repos
Bitbucketから、BitBucketStationLocationsリポジトリにアクセスしてください。
[クローン]をクリックします。
システムには、ポップアップクローンダイアログが表示されます。デフォルトでは、クローンダイアログは、設定に応じて、プロトコルをHTTPSまたはSSHに設定します。このチュートリアルの目的のために、デフォルトのプロトコルを変更しないでください。
強調表示されたクローンコマンドをコピーします
端末ウィンドウから、Bitbucketからコピーしたコマンドを貼り付けて、リターンを押します。
端末がそれを要求したら、Bitbucketパスワードを入力します。 Googleにリンクしてアカウントを作成した場合は、そのアカウントにパスワードを使用してください。
Windowsパスワードエラーが発生した場合:
Microsoft WindowsオペレーティングシステムとGITの一部のバージョンでは、次の例に似たエラーが表示される場合があります。
Windowsクローンパスワードエラーの例
Reposディレクトリの内容をリストすると、BitBucketStationLocationsディレクトリが表示されます。
$ git config --global core.askpass
おめでとうございます!リポジトリをローカルシステムにクローン化しました。
$ cd ~/repos
$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git Cloning into 'bitbucketstationlocations'... Password warning: You appear to have cloned an empty repository.
ステップ2。ファイルをローカルリポジトリに追加し、Bitbucket に配置します
ローカルシステムのリポジトリを使用すると、仕事に取り掛かる時が来ました。すべての宇宙ステーションの場所を追跡し始めたいと思います。そうするために、すべての場所に関するファイルを作成しましょう。
ターミナルウィンドウに移動し、ローカルリポジトリの最上位レベルに移動します。
次の行をターミナルウィンドウに入力して、コンテンツを含む新しいファイルを作成します。
コマンドラインが何も返さない場合、ファイルを正しく作成したことを意味します!
$ ls
ローカルリポジトリのステータスを取得します。 git statusコマンドは、Bitbucketリポジトリと比較して、プロジェクトがどのように進行しているかについて説明します。
この時点で、Gitは新しいファイルを作成したことを認識しています。このようなものが表示されます。
$ cd ~/repos/bitbucketstationlocations/ ファイルは追跡されていません。つまり、GITは以前のコミットの一部ではないファイルを表示します。ステータス出力には、次のステップ:ファイルの追加も表示されます。
git addコマンドを使用して、新しいlocations.txtファイルを追跡するようにgitに伝えます。ファイルを作成したときと同じように、Git Addコマンドは正しく入力しても何も返されません。
$ cd ~
git addコマンドは、作業ディレクトリからGitステージング領域への変更を移動します。ステージング領域は、公式の歴史にコミットする前に、一連の変更のスナップショットを準備する場所です。
ファイルのステータスを確認してください。
$ mkdir repos
新しいファイルが追加されている(段階的)が表示され、準備ができたらコミットできます。 gitステータスコマンドは、作業ディレクトリの状態と段階的なスナップショットを表示します。
次の行に示されているように、コミットメッセージでgitコミットコマンドを発行します。 -mは、コミットメッセージが続くことを示します。
$ cd ~/repos
gitコミットは段階的なスナップショットを取り、プロジェクトの履歴にコミットします。 Git Addと組み合わせて、このプロセスはすべてのGitユーザーの基本的なワークフローを定義します。
この時点まで、あなたがしたことはすべてあなたのローカルシステムにあり、それらの変更をプッシュするまでBitBucketリポジトリに見えません。
gitとリモートリポジトリについてもう少し学びます
Gitのリモートリポジトリと通信する機能(あなたの場合、Bitbucketはリモートリポジトリです)は、すべてのGitベースのコラボレーションワークフローの基礎です。
Gitのコラボレーションモデルは、すべての開発者にリポジトリの独自のコピーを提供し、独自のローカル歴史と支店構造を備えています。ユーザーは通常、単一の変更セットではなく、一連のコミットを共有する必要があります。ワーキングコピーから中央リポジトリへの変更セットをコミットする代わりに、Gitを使用すると、リポジトリ間でブランチ全体を共有できます。
他のリポジトリとの接続を管理し、他のリポジトリにブランチを「プッシュ」することで地元の歴史を公開します。あなたは、あなたのローカルリポジトリにブランチを「引く」ことによって他の人が貢献したものを見ます。
ローカルターミナルウィンドウに戻り、Git Push Origin Masterを使用してコミットした変更をBitbucketに送信します。このコマンドは、Origin(Bitbucketサーバー)のマスターブランチ(Bitbucketのブランチ)にプッシュすることを指定します。
次の応答に似たものが表示されるはずです
あなたのコミットは今、リモートリポジトリ(ogirion)にあります。
BitbucketのBitbucketStationLocationsリポジトリに移動し、メニューバーのコミットアイテムをクリックします。
リポジトリに単一のコミットが表示されるはずです。 Bitbucketは、あなたがちょうどそのコミットにしたすべてのことを組み合わせて、あなたにそれを見せます。著者列には、Git Globalファイル(〜/.gitconfig)を構成したときに使用した値が表示されていることがわかります。
[ソース]オプションをクリックします。
リポジトリに単一のソースファイル、追加したlocations.txtファイルがあることがわかります。
最初に作成したときにリポジトリがどのように見えたか覚えていますか?おそらく今は少し違うように見えます。
BitBucket CloudのGitリポジトリからの変更
次に、宇宙ステーションの管理者アクティビティのリストで、場所の詳細が記載されたファイルが必要です。現時点では多くの場所がないので、Bitbucketからすぐに追加します。
ステップ1。bitbucket
でファイルを作成します
新しい場所ファイルを追加するには、次のことを実行します
bitbucketStationLocationsリポジトリから、[ソース]をクリックしてソースディレクトリを開きます。ディレクトリにファイル、locations.txtは1つだけあることに注意してください。
ページから、右上隅にある new file をクリックします。このボタンは、リポジトリに少なくとも1つのファイルを追加した後にのみ表示されます。
次の画像に示すように、新しいファイルを作成するためのページ。
ファイル名フィールドにステーションロケーションを入力します。
構文モードリストからhtmlを選択します。
次のHTMLコードをテキストボックスに追加します。
[コミット]をクリックします。メッセージフィールドはメッセージで表示されます。
[メッセージ]フィールドの下の[コミット]をクリックします。
bitbucketに新しいファイルがあります!コミットの詳細が記載されたページに連れて行かれます。ここで、今後の変更を確認できます。
$ cd ~
$ mkdir repos
これまでに作ったコミットのリストを表示したい場合は、左側のコミットリンクをクリックしてください。
ステップ2。リモートリポジトリからの変更
次に、その新しいファイルをローカルリポジトリに入れる必要があります。このプロセスは非常に簡単です。基本的には、locations.txtファイルをbitbucketに入れるために使用したプッシュの逆です。
ファイルをローカルリポジトリに引き込むには、次のことを行います。
ターミナルウィンドウを開き、ローカルリポジトリの最上位レベルに移動します。
$ cd ~
git pull -allコマンドを入力して、Bitbucketからすべての変更をプルします。 (より複雑な分岐ワークフローでは、すべての変更が適切ではない場合があります。)尋ねられたときにBitbucketパスワードを入力します。端末は次のように見えるはずです。
$ mkdir repos
Git Pullコマンドは、ファイルをリモートリポジトリ(BitBucket)から単一のコマンドでローカルリポジトリにマージします。
ローカルシステム上のリポジトリフォルダーに移動すると、追加したファイルが表示されます。
ファンタスティック!宇宙ステーションの場所に関する2つのファイルを追加すると、Bitbucketとローカルシステムの間に基本的なGitワークフロー(クローン、追加、コミット、プッシュ、プル)を実行しました。
gitブランチを使用してファイルをマージ
宇宙ステーションの管理者であることには、特定の責任があります。特に太陽系の新しい場所をマッピングするときは、情報をロックダウンする必要がある場合があります。学習ブランチを使用すると、ファイルを更新し、準備ができたら情報を共有できます。
チームで作業しているとき、
ブランチは最も強力です。自分のブランチからプロジェクトの自分の部分で作業し、Bitbucketから更新を引き出し、準備ができたらすべての作業をメインブランチにマージすることができます。私たちのドキュメントには、ブランチを使用したい理由の詳細が含まれています。
ブランチは、リポジトリの独立した開発ラインを表しています。それを真新しい作業ディレクトリ、ステージング領域、およびプロジェクト履歴と考えてください。新しいブランチを作成する前に、メインブランチ(マスターと呼ばれる)から自動的に始めます。視覚的な例として、この図はマスターブランチとバグ修正の更新付きの他のブランチを示しています。
ステップ1。ブランチを作成して変更を加えます
コミットする準備ができていない宇宙ステーションの将来の計画を追加できるブランチを作成します。これらの計画をすべてに知らせる準備ができたら、変更をBitbucketリポジトリにマージしてから、必要のないブランチを削除できます。
ブランチは単なる指揮者であることを理解することが重要です。ブランチを作成するとき、GITが行う必要があるのは、新しいポインターを作成することだけです。まったく新しいファイルやフォルダーのセットを作成しません。開始する前に、リポジトリは次のようになります:
ブランチを作成するには、次のことを実行します
ターミナルウィンドウに移動し、次のコマンドを使用してローカルリポジトリの最上位レベルに移動します。
$ cd ~
ターミナルウィンドウからブランチを作成します。
$ mkdir repos
このコマンドはブランチを作成しますが、そのブランチに切り替えないので、リポジトリは次のようになります。
リポジトリの履歴は変更されていません。あなたが得るのは、現在のブランチへの新しいポインターだけです。新しいブランチの作業を開始するには、使用するブランチをチェックアウトする必要があります。
作成したばかりの新しいブランチを使用して使用し始めます。
$ cd ~/repos
gitチェックアウトコマンドは、gitブランチと密接に動作します。新しいブランチを作成するたびに(gitブランチ付き)新しい何かに取り組むためのブランチを作成しているため、使用する場合は(Gitチェックアウト付き)確認する必要があります。新しいブランチをチェックアウトしたので、gitワークフローは次のようになります:
ローカルシステムでBitBucketStationLocationsフォルダーを検索して開きます。新しいブランチの結果として、ディレクトリに追加のファイルやフォルダーがないことに気付くでしょう。
テキストエディターを使用してStationLocationsファイルを開きます。
別のステーションの場所を追加して、ファイルに変更を加えます。
$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git Cloning into 'bitbucketspacestation'... fatal: could not read Password for 'https://emmap1@bitbucket.org': No such file or directory
ファイルを保存して閉じます。
端子ウィンドウにGitステータスを入力します。あなたはこのようなものを見るでしょう:
Branch Future-Plansラインに気づきましたか?以前にGitステータスを入力した場合、1つのマスターブランチしかなかったため、ラインはブランチマスターにありました。ステージを上げるか変更する前に、この行を常にチェックして、変更を追加するブランチがチェックアウトされていることを確認してください。
$ git config --global core.askpass
ファイルをステージします。
$ cd ~/repos
$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git Cloning into 'bitbucketstationlocations'... Password warning: You appear to have cloned an empty repository.
以下に示すように、端子ウィンドウにgitコミットコマンドを入力してください。
この最近のコミットでは、リポジトリは次のようになります。
$ ls
今度は、マスターブランチに戻った変更をマージする時が来ました。
ステップ2。ブランチをマージします:ファーストフォワードマージ
宇宙ステーションが成長しており、火星の場所の開会式の時間です。あなたの将来の計画が現実になったので、あなたの将来の計画のブランチをあなたのローカルシステムのメインブランチに統合することができます。
1つのブランチのみを作成して1つの変更を行ったため、マージするためにファーストフォワードブランチメソッドを使用します。現在の分岐先端からターゲットブランチまでの線形パスがあるため、高速なマージを行うことができます。枝を「実際に」統合する代わりに、履歴を統合するためにすべてのGitが行う必要があります。これは、ターゲットブランチから到達可能なすべてのコミットが現在のブランチから利用可能になるため、歴史を効果的に組み合わせています。
このブランチワークフローは、短命のトピックブランチでは一般的であり、長期にわたる機能ではそれほど一般的ではありません。
ファーストフォワードマージを完了するには、次のことを行います
ターミナルウィンドウに移動し、ローカルリポジトリの最上位レベルに移動します。
gitステータスコマンドを入力して、すべての変更がコミットされていることを確認し、チェックアウトしたブランチを確認してください。
$ cd ~
マスターブランチに切り替えます。
$ mkdir repos
将来のプランズブランチからの変更をマスターブランチにマージします。それは次のようになります:
$ cd ~/repos
マスターブランチのポインターを本質的に移動しました。
$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git Cloning into 'bitbucketspacestation'... fatal: could not read Password for 'https://emmap1@bitbucket.org': No such file or directory
Future-Plansの使用を計画していないため、ブランチを削除できます。
Future-Plansを削除する場合、コミットIDを使用してマスターからブランチにアクセスできます。たとえば、Future-Plansから追加された変更を元に戻す場合は、受け取ったばかりのコミットIDを使用してそのブランチに戻ります。
$ git config --global core.askpass
gitステータスを入力して、マージの結果を確認します。これは、ローカルリポジトリがリモートリポジトリの1つ先であることを示しています。それは次のようになります:
$ cd ~/repos
$ git clone https://emmap1@bitbucket.org/emmap1/bitbucketstationlocations.git Cloning into 'bitbucketstationlocations'... Password warning: You appear to have cloned an empty repository.
これまでに行ったことは次のとおりです
ブランチを作成してチェックアウトしました
新しいブランチ
に変更を加えました
新しいブランチへの変更をコミットしました
その変更をメインブランチに統合しました
使用していないブランチを削除しました
次に、このすべての作業をリモートリポジトリのBitbucketに戻す必要があります。
ステップ3。変更をBitbucket に押します
他のすべての人が新しい宇宙ステーションの場所を見ることができるようにしたいと考えています。そうするために、ローカルリポジトリの現在の状態をBitbucketにプッシュできます。
この図は、ローカルリポジトリに中央リポジトリが持っていない変更があり、それらの変更をBitbucketにプッシュした場合に何が起こるかを示しています。
これがあなたの変更をリモートリポジトリにプッシュする方法です:
端末ウィンドウのリポジトリディレクトリから、Git Push Origin Masterを入力して変更をプッシュします。その結果、次のようなものが生まれます。
$ cd ~
Bitbucketリポジトリの概要ページをクリックして、最近のアクティビティストリームでプッシュを確認できることに注意してください。
Commitsをクリックすると、ローカルシステムで行ったコミットを確認できます。この変更は、ローカルシステムと同じコミットIDを保持していることに注意してください。
コミットリストの左側の線には、まっすぐなパスがあり、枝がないこともわかります。これは、Future-Plansブランチがリモートリポジトリと対話することはなく、作成してコミットした変更だけです。
ブランチをクリックして、ページにもブランチの記録がないことに注意してください。
[ソース]をクリックし、[StationLocationsファイル]をクリックします。ファイルへの最後の変更が、あなたがプッシュしたばかりのコミットIDがあることがわかります。
ファイル履歴リストをクリックして、このファイルにコミットされた変更を確認します。これは、次の図に似ています。
あなたは完了です!
学んだばかりのすべてのgitコマンドを覚えているかどうかはわかりませんか?問題ない。必要に応じて参照できるように、基本的なgitコマンドページをブックマークしてください。
以上がBitbucketクラウドでGitを学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。