git-リモートの追加オリジンとリモートのset-urlオリジン


413

新しいリポジトリを作成します。

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

次に、githubに作成された空のリモートリポジトリにコミットをプッシュしたいので、リモートを設定する必要があります。

次のコマンドを使用することの違いは何ですか?:

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

最後に私はプッシュを実行します:

git push -u origin master

Edit1:

git initの直後にリモートのset-url originを呼び出すとどうなりますか?リモートのset-url originはoriginを作成しますか?git initの後にoriginが既に存在する場合、私のシナリオでこれらのコマンドを使用しても違いはありませんよね?

回答:


509

以下は、新しいリモートの追加に使用されます。

git remote add origin git@github.com:User/UserRepo.git

以下は、既存のリモートリポジトリのURLを変更するために使用されます。

git remote set-url origin git@github.com:User/UserRepo.git

以下で定義されたリモートリポジトリのmasterブランチにコードをプッシュするoriginと、-uリモートのmasterブランチにあなたの現在のローカルブランチを指してみましょう:

git push -u origin master

ドキュメンテーション


Aからローカルにクローンを作成し、「git remote set-url B」を使用する場合。Aのリポジトリを削除しますか?AWSコードコミットからGitLabへのリポジトリのクローンを作成しようとしています
Josh

通常、新しいレポをフォークするときは、間違いを犯し、オリジンをアップストリームに設定します。最終的に、2番目のコマンドを使用して修正する必要がありますgit remote set-url origin git@github.com:User/UserRepo.git
Honey

-u 現在のローカルブランチをリモートマスターブランチポイントさせてくださいなぜそうしたいのかわかりません。つまり、マスターからプルして新しいfeatureBranchを作成したとします。変更をコミットしてから、変更をorigin / featureBranchにプッシュしてから、その機能をマスターにマージ/プルしました。<—現時点では、featureBranchは完了していませんか?なぜリモートのマスターブランチを指す必要があるのですか?ローカル/マスターにチェックアウトしてから、最新のオリジンからプルするべきではありませんか?
Honey

-u私の意見では、誤解を招くフラグの説明を除いて、答えはとても良い です。説明については-u旗、私は、このスレッドを見て持つことをお勧めしますstackoverflow.com/questions/18867824/...
ホアンTRAN

-uを使用すると、現在のローカルブランチをリモートマスターブランチにポイントできます。この行を理解できません...どういう意味ですか?

62
  • を実行するとgit remote add origin git@github.com:User/UserRepo.git、という名前の新しいリモートが作成されoriginます。
  • を実行するとgit remote set-url origin git@github.com:User/UserRepo.git、gitは名前originを持つ既存のリモートを検索し、リモートリポジトリのURLを変更します。gitが名前を持つリモートを見つけられない場合origin、エラーが発生しますfatal: No such remote 'origin'

新しいリポジトリを作成する場合は、を使用git remote add origin git@github.com:User/UserRepo.gitしてリモートを追加します。


Edit1
Irbis

git init原点は追加されません。gitリポジトリのみが初期化されます。既存のリポジトリのクローンを作成すると、リモートオリジンが作成されます。勧告は、使用されgit addた後、git initではありませんset-url
Ram

@Ram意味がないので、git initの後にset-urlを呼び出さないのは明らかです。set-urlは変更し、addは新しいリモートを追加することです。
Santosh

61

以下は、ローカルリポジトリを再初期化します。リモートリポジトリ(つまり、オリジン)のクリア:

git init

次に、存在しない場合は「origin」を作成します。

git remote add origin [repo-url]

または、set-urlサブコマンドを使用して既存のリモートを編集できます。

git remote set-url origin [repo-url]

また、既存のリモートを確認することができます

git remote -v

お役に立てれば!


1
git remote set-url origin ...新しく初期化されたレポで、「致命的」というメッセージが表示されました。git remote add origin ...働いた。
Robb Vandaveer

@RobbVandaveerキャッチありがとうございます!サブコマンドを正しく使用するために回答を更新しましたset-url
vpibano

32

git remote add=> ADDS新しいリモート。

git remote set-url=> 既存のリモートを更新します。


  1. 後に続くリモート名addは、そのコマンドの前に存在しなかった新しいリモート名です。
  2. 後に続くリモート名はset-url、リポジトリのリモート名としてすでに存在している必要があります。

git remote add myupstream someurl => myupstreamリモート名は存在しませんでした。このコマンドでリモート名を作成しています。

git remote set-url upstream someurl =>上流のリモート名はすでに存在しています。URLを変更しているだけです。


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

新しいリモートを追加するgit remote addには、ターミナルでコマンドを使用します。リポジトリが保存されているディレクトリにあります。

git remote set-urlコマンドは、既存のリモートリポジトリURLを変更します。

基本的に、remote add新しいものを追加remote set-urlすること、既存のものを更新することです


28

1. git remote add origin git@github.com:User/UserRepo.git

  • このコマンドは、次のコマンドを使用して現在の作業リポジトリにgitを初期化した後のコマンドシリーズの2番目のステップです。 git init
  • このコマンドは単に意味します 「ファイルを!! /にプッシュ/プルしたいリモートリポジトリの場所を追加することをます。
  • リモートリポジトリは、github、gitlab、bitbucketなどのどこにあってもかまいません。
  • ここではoriginあなたがリモート毎回のために全体のパスを入力する必要はありませんし、今後あなたがあなたのリモートを参照するために、この名前(原点)を使用することを宣言しているように、あなたのリモートリポジトリのエイリアス/代替名です。この名前は何でもかまいません。
  • リモートが正しく設定されていることを確認するには、次のように入力します。 git remote -v

    または git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

このコマンドは、誤って最初に間違ったリポジトリにプッシュした場合に、上記のコマンドを使用して「リモートリポジトリのパスをリセット」できることを意味します

3. git push -u remote master

このコマンドは単にファイルをリモートリポジトリにプッシュします。Gitには「ブランチ」と呼ばれる概念があるため、デフォルトでは、明示的に代替ブランチを指定しない限り、すべてがマスターブランチにプッシュされます。

リポジトリタイプにあるすべてのブランチのリストについて知るには:git branch



7

remote set-url origingit initgit remote set-urlコマンドはオリジンを作成しないため、直後に呼び出すことはできませんが、既存のリモートリポジトリURLを変更します

そのため、このコマンドgit remote set-urlは、リポジトリのクローンを作成するか、手動でリモートと呼ばれるオリジンを追加した場合にのみ機能します。

コマンドgit remote -vでリモートをチェックすると、名前の後にリモートURLが表示されます。または、このコマンドでエラーが発生したfatal: Not a git repository (or any of the parent directories): .git場合、リポジトリが存在しないため、コマンドでoriginを追加する必要がありますgit remote add

1。 git remote add

このコマンドを使用して、新しいリモートを追加します。このコマンドは、ターミナルのリポジトリのディレクトリで使用できます。

git remote addコマンドは2つの引数を取ります。

  1. リモート名、例えば、起源
  2. リモートURL、例えば、https://github.com/user/repo.git

例えば:

git remote add origin https://github.com/user/repo.git

2。git remote set-url

git remote set-urlコマンドは、既存のリモートリポジトリURLを変更します。

git remote set-urlコマンドは2つの引数を取ります。

  1. 既存のリモート名。たとえば、originまたはupstream2つの一般的な選択肢です。
  2. リモートのための新しいURL

たとえば、git remote set-urlコマンドを使用して、リモートのURLをSSHからHTTPSに変更できます。

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

コマンドを使用して、リモートURLが変更されたことを確認できますgit remote -v

注:「origin」はコマンドの一部ではない規則です。「origin」は、リモートリポジトリのローカル名です。「origin」の代わりに任意の名前を使用できます。

例えば:

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

githubからの参照:remote addremote set-url


0

既存のプロジェクトがあり、リモートリポジトリのURLを追加する場合は、次のコマンドを実行する必要があります

git init

readme.mdファイルを追加したい場合は、それを作成し、以下のコマンドを使用して追加できます。

git add README.md

以下のコマンドを使用して最初のコミットを行います

git commit -m "first commit"

これで、すべてのローカルリポジトリプロセスが完了しました。次に、リモートリポジトリのURLを追加する方法を教えてください。以下のコマンドを確認してください。これはssh url用であり、https用に変更できます。

git remote add origin git@github.com:user-name/repository-name.git

最初のコミットをどのようにプッシュするかは、以下のコマンドを参照してください

git push -u origin master
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.