Latest web development tutorials

Gitのリモートリポジトリ

GitはSVNのような中央サーバーがあることではありません。

当社は現在、ローカルで実行されるコマンドをGitはするために使用している、Gitはあなたのコードや他の開発者と協力してを共有したい場合。 あなたは、1台のサーバー上にデータを配置する必要があり、他の開発者に接続することができます。

この例では、私たちの最初の読むことができる、リモートとしてGitHubのリポジトリを使用していますGitHubの簡単なチュートリアルを。


リモートライブラリの追加

次のようにして、新しいリモートリポジトリを追加するには、単純な名前を指定することができ、今後の参考のために、コマンド形式は次のとおりです。

git remote add [shortname] [url]

あなたはGitHubの公式サイトができない場合、この例では、リモートリポジトリGitHubの例としてhttps://github.com/登録されています。

あなたのローカルのGitリポジトリとGitHubのリポジトリの送信は、SSHの暗号化を介しているので、私たちは、認証情報を設定する必要があります。

SSHキーを生成するには、次のコマンドを使用します。

$ ssh-keygen -t rsa -C "[email protected]"

[email protected]バックgithubの上に登録されたメールボックスに、あなたは私たちがラインを入力するデフォルトの方法を使用する、パスを確認し、パスワードを入力するように求められます。 、.sshフォルダ〜/の下、内部、オープンid_rsa.pubを生成するキーの内部にコピーされます成功しました。

戻るgithubの上、アカウント設定を入力します(アカウントの設定)、左の選択SSHキーは、SSHキーの追加、ちょうど埋める貼り付けられたタイトルは、お使いのコンピュータのキーに生成。

成功を確認するには、次のコマンドを入力します。

$ ssh -T [email protected]
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

次のコマンドは、私たちが成功しGitHubのに接続されていることを示しています。

ログイン後、以下に示すように、「新しいリポジトリ」をクリックします。

リポジトリの名前満たさw3cschool.cc(リモートリポジトリ名)した後、他の人が「リポジトリを作成」ボタンをクリックし、デフォルトの設定を保持し、我々が正常に新しいGitのリポジトリを作成しました:

作成したら、以下の情報が表示されます。

私たちはこのリポジトリのクローン新しい倉庫から伝えることができます上記の情報は、コンテンツがローカルリポジトリGitHubのリポジトリにプッシュすることができます。

さて、GitHubのにプロンプ​​トに従い、そして地元の倉庫でのコマンドを実行します。

$ ls
README
w3cschool本教程测试.txt
test.txt
$ git remote add origin [email protected]:tianqixin/w3cschool.cc.git
$ git push -u origin master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done.
Total 21 (delta 4), reused 0 (delta 0)
To [email protected]:tianqixin/w3cschool.cc.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

GitHubの中でローカルコピーに応じて、以下のコマンドが正常に新倉庫を作成したのではなく、当社のGitHubのユーザー名は、同じリポジトリ名と同じではないではありませんので、私を命令。

次に、我々はリターンのGithubリポジトリを作成し、ファイルがGitHubのにアップロードされている見ることができます:


現在のリモートライブラリをチェック

現在のリモートリポジトリが配置されているかを確認するには、コマンドを使用することができます。

git remote
$ git remote
origin
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)

実行時に-vパラメータを使用すると、あなたはまた、エイリアスごとに実際のリンクアドレスを見ることができます。


リモートリポジトリを抽出

Gitはリモートリポジトリの更新を抽出するために使用される2つのコマンドがあります。

1.リモートリポジトリからのデータを新しいブランチをダウンロード:

git fetch

ランgitのは、あなたのブランチにリモートブランチをマージされた後に実行する必要が配置されています。

2、リモート・ウェアハウスからデータを抽出し、現在のブランチにマージしてみてください:

git pull

コマンドは、あなたのgitのgitのマージへのリモートブランチの実装直後フェッチの任意のブランチで実行されています。

あなたは[別名]それは、データを持っていない取得するにGitを伝えるフェッチのgitを実行することができ、あなたがリモートリポジトリを設定している、とあなたが更新されたデータを抽出する必要があるとし、その後、最初にgitのマージ[別名] / [ブランチを実行することができます]サーバー上の任意のアップデートに現在のブランチに(この時間は、それがサーバーにプッシュされたと仮定して)。

その後、我々はGithubの上の「w3cschoolチュートリアルテストの.txt」をクリックすると、オンラインでそれを修正します。 我々は、ローカルの変更を更新したら。

$ git fetch origin
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/w3cschool.cc
   7d2081c..f5f3dd5  master     -> origin/master

上記の情報は、「7d2081c..f5f3dd5マスター - >原点/マスター「マスター分岐命令が更新されている、私たちは地元に同期更新するには、次のコマンドを使用することができます。

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)

リモートリポジトリにプッシュ

コマンドの先端に新しいブランチとデータウェアハウスをプッシュ:

git push [alias] [branch]

[ブランチ]ブランチ、例[エイリアス]リモートリポジトリになるために、上記のコマンドあなた[ブランチ]ブランチプッシュ次のとおりです。

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)
bogon:w3cschoolcc tianqixin$ vim w3cschool本教程测试.txt 
bogon:w3cschoolcc tianqixin$ git push origin master
Everything up-to-date

リモートリポジトリの削除

このコマンドを使用できるリモートリポジトリを削除します:

git remote rm [别名]
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 [email protected]:tianqixin/w3cschool.cc.git
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
origin2	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin2	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote rm origin2
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)