Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> リモートウェアハウスの利用チュートリアル

リモートウェアハウスの利用チュートリアル

  
リモートウェアハウスの利用

Gitプロジェクトの共同作業に参加するには、リモートリポジトリの管理方法を理解する必要があります。リモートリポジトリとは、ネットワーク上でホストされているプロジェクトリポジトリのことです。他の人と共同でプロジェクトを開発するときは、これらのリモートリポジトリを管理してデータをプッシュまたはプルし、その作業を共有する必要があります。リモートライブラリの追加、廃止されたリモートライブラリの削除、さまざまなリモートライブラリブランチの管理、これらのブランチを追跡するかどうかの定義など、リモートリポジトリの作業を管理します。このセクションでは、リモートライブラリの管理と使用について詳しく説明します。
現在のリモートライブラリを表示する

現在設定されているリモートリポジトリを確認するには、git remoteコマンドを使用して、各リモートライブラリの短い名前を一覧表示します。プロジェクトのクローンを作成したら、少なくともoriginというリモートライブラリを見ることができます。Gitはデフォルトでクローンしたオリジナルのリポジトリを識別します。

 $ git clone git://github.com /private/tmp/ticgit/.git/remote内の/schacon/ticgit.gitInitialized empty Gitリポジトリ:カウントオブジェクト数:595、done.remote:圧縮オブジェクト数:100%(269/269)、done.remote:合計595 255)、再利用589(デルタ253)オブジェクトを受信中:100%(595/595)、73.31 KiB | 0
  1 KiB /s、done.Resolving deltas:100%(255/255)、done。$ cd ticgit $ gitリモート原点

は、-vオプションを付けて追加することもできます(注釈:これは– verboseの省略形、最初の引数を使用)対応するクローンアドレスを表示します。

 $ git remote -vorigin git://github.com/schacon/ticgit.git 

複数のリモートリポジトリがある場合は、このコマンドが一覧表示されます。たとえば、私のGritプロジェクトでは、次のように表示されます。

 $ cd grit $ git remote -vbakkdoor git://github.com/bakkdoor/grit.gitcho45 git://github.com/cho45/grit .gitdefunkt git://github.com/defunkt/grit.gitkoke git://github.com/koke/grit.gitorigin [email protected]:mojombo /grit.git 

このようにして、私はとても可能になります。これらのユーザーのリポジトリから自分の投稿をローカルに簡単に取得できます。上にリストされたアドレスは起源のためにSSH URLリンクを使うだけなので、このリポジトリだけがデータをプッシュアップすることができることに注意してください(なぜ私たちは第4章で説明するでしょう)。
リモートリポジトリの追加

新しいリモートリポジトリを追加するには、後で参照するために単純な名前を指定します。git remote add [shortname] [url]:

 $ git Remoteorigin $ git remote add pb git://github.com/paulboone/ticgit.git$ git remote -vorigin git://github.com/schacon/ticgit.gitpb git://github.com/paulboone/ticgit.git 

これで、対応する倉庫の住所を参照するために文字列pbを使用できます。たとえば、Paulにあるがローカルリポジトリにはないすべての情報を取得するには、git fetch pbを実行します。

 $ git fetch pbremote:Counting objects:58、done.remote:Compressing objects:100%( 41/41)、done.remote:合計44(デルタ24)、1(デルタ0)を再利用オブジェクトの解凍:100%(44/44)、終了。開始://github.com/paulboone/ticgit * [new Branch] master  - > pb /master * [新しいbranch] ticgit  - > pb /ticgit 

これで、Paulのトランクブランチ(master)はローカルで完全にアクセス可能になりました。対応する名前はpb /masterです。あなたはそれをあなた自身のブランチの1つに併合するか、またはこのブランチに切り替えていくつかの興味深い更新を見ることができます。
リモートリポジトリからのデータのクロール

前述のように、次のコマンドを使用してリモートリポジトリからローカルにデータを取得できます。

 $ git fetch [remote-name] 

このコマンドは、ローカルリポジトリにないすべてのデータをリモートリポジトリに取り込みます。実行が完了したら、リモートリポジトリ内のすべてのブランチにローカルにアクセスするか、ブランチの1つをローカルにマージするか、単にブランチを選択して調べることができます。 (ブランチの概念と操作については、第3章で詳細に説明します。)リポジトリを複製した場合、このコマンドは自動的にリモートリポジトリをオリジン名に割り当てます。そのため、git fetch originは、前回のクローン作成以降にこのリモートリポジトリにアップロードされたすべての更新(または最後の取得以降に他のユーザーによって送信された更新)を取得します。 fetchコマンドはリモートデータをローカルリポジトリに引っ張るだけで現在の作業中のブランチに自動的にマージするのではないことを覚えておくことが重要です。 (注:事前にリモートリポジトリを作成してから、次のコマンドを実行してください。git remote add [ウェアハウス名] [ウェアハウスURL]、git fetch [リモートリポジトリ名]、リモートリポジトリデータをローカルに取得してからgit mergeremotes /を使用できます。 [Warehouse name] /masterはリモートリポジトリをローカルの現在のブランチにマージすることができますこの分岐方法は、独立した統合開発、つまり開発とテストの後に統合されることに適しています。 >

--bareオプションを指定してgit initを実行すると、空のリポジトリを設定できます。これにより、作業ディレクトリを含まないリポジトリが初期化されます。

$ cd /opt /git

$ Mkdir project.git

$ cd project.git

$ git --bare init

この時点で、Join、Josie、またはJessicaがリモートリポジトリとして追加できます。ブランチをプッシュしてプロジェクトの最初のバージョンをリポジトリにアップロードします。

ブランチがリモートリポジトリブランチを追跡するように設定されている場合(次のセクションと第3章を参照)コンテンツ)、git pullコマンドを使用してデータを自動的に取得してから、リモートブランチを自動的にローカルリポジトリ内の現在のブランチ。私たちは日々の仕事にそれを使うことが多く、それは速くて良いです。実際、デフォルトではgit cloneコマンドは基本的にリモートリポジトリのマスターブランチを追跡するために使われるローカルマスターブランチを作成します(リモートリポジトリにマスターブランチがあると仮定して)。そのため、通常はgit pullを実行します。その目的は、元のクローンのリモートリポジトリからデータを取得し、それを作業ディレクトリの現在のブランチにマージすることです。
リモートリポジトリへのデータのプッシュ

プロジェクトは、現在の結果を他の人と共有したり、ローカルリポジトリからリモートリポジトリにデータをプッシュしたりできるステージに進みます。これを行うためのコマンドは簡単です:git push [remote-name] [branch-name]。ローカルマスターブランチをオリジンサーバーにプッシュしたい場合(ここでも、クローン操作ではデフォルトのマスター名とオリジン名が自動的に使用されます)、次のコマンドを実行できます。

 $ git push origin master 

このコマンドは、クローンサーバーに書き込み権限がある場合、または他のユーザーが同時にデータをプッシュしていない場合にのみ、スケジュールどおりにタスクを完了します。データをプッシュする前に他の誰かがいくつかの更新をプッシュした場合、プッシュは拒否されます。再度プッシュできるようにするには、まず最初にそれらの更新をローカルでクロールし、自分のプロジェクトに移動する必要があります。リモートリポジトリへのデータプッシュの詳細については、第3章を参照してください。
リモートリポジトリ情報の表示

git remote show [remote-name]コマンドを使用すると、リモートリポジトリの詳細を表示できますたとえば、複製されたオリジナルリポジトリを表示するには、次のコマンドを実行します。 Pre> $ git remote show origin * remote origin URL:git://github.com/schacon/ticgit.gitブランチマスターマスター上でリモートブランチが 'git pull'にマージされました対応するクローンを除いてリモートブランチマスターticgit

を追跡しました住所の外には、追加の情報がたくさんあります。マスターブランチを利用している場合は、git pullコマンドを使用してデータを取得し、それをローカルにマージすることができます。トラッキング状態にあるすべてのリモートブランチも一覧表示されます。

実際の使用では、git remote showによって提供される情報は次のようになります。

 $ git remote show origin * remote origin URL:[email protected]:defunkt /github.gitブランチ問題時のリモートブランチとgit pullのマージブランチマスターmasterのリモートブランチとgit pullのマージ新しいリモートブランチ(次のフェッチはリモート/オリジンに格納されます)キャッシング古いトラッキングブランチ(git remote pruneを使用) libwalker walker2追跡されたリモートブランチacl apiv2 dashboard2 issue master postgres 'git push'でプッシュされたローカルブランチmaster:master 

git pushを実行したときのデフォルトのプッシュブランチが何であるかを教えてくれます(注釈:最後の2行)。また、どのリモートブランチがローカルに同期されていないか、およびローカルに同期されているどのリモートブランチがリモートサーバ上で削除されたかを示します(注釈:Stale trackingbranchesの下の2つ)。 git pullを実行するとどのブランチが自動的にマージされるか(注釈:最初の4行にリストされているissueとマスターブランチ)。 (このコマンドは、ローカルブランチとリモートリポジトリブランチの対応関係も表示できます。)
リモートリポジトリの削除と名前の変更

新しいGitでは、git remote renameコマンドでリモートリポジトリを変更できます。ショートネーム、たとえば、pbをpaulに変更する場合は、次のように実行します。

 $ gitリモートリネームpb paul $ git remoteoriginpaul 

リモートリポジトリの名前を変更すると、対応するブランチ名も表示されることに注意してください。変更、元のpb /masterブランチは現在paul /masterです。

リモートリポジトリサーバーの移行が発生した場合、元のクローンイメージが使用されなくなった場合、または参加者がコードを提供しなくなった場合は、対応するリモートリポジトリを削除する必要があります。 :

 $ git remote rm paul $ git remoteorigin
						
Copyright © Windowsの知識 All Rights Reserved