質問
私は誰かのgitリポジトリからプルするのに慣れています。今日、彼はリポジトリを別のアドレスに移動しました。新しい住所から引っ越して、彼が移動する前に最後に行った変更についての情報を取得する方法があるのだろうか?
私がやったことは、「git clone newaddress」です。彼の古いリポジトリから引き出された私のリポジトリの下。出力は次のようになります。
xxxを取得
walk xxx
xxxを取得
xxxを取得
walk xxx
新しいアドレスの代替リストの取得
newaddressのパックリストの取得
パックxxxのインデックスの取得
パックxxxの取得
xxxを含む
xxxを取得
xxxを取得
walk xxx
...
その後、「git pull」と入力します理解できない次のメッセージが表示されました:
あなたは、あなたにどの枝をあなたに教えないで引っ張るように頼みました とマージしたい、そして「branch.master.merge」で 構成ファイルからも通知されません。お願いします コマンドラインでマージするブランチの名前と 再試行してください(例: 'git pull')。 refspecの詳細については、git-pull(1)を参照してください。
同じブランチに頻繁にマージする場合、 設定で次の変数を設定します ファイル:
branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec>
詳細については、git-config(1)を参照してください。
移動前の前回の変更点に関する情報を引き続き取得できるようにするには、どうすればよいですか?
ありがとうございます!
解決
あなたの質問を正しく理解しているなら、あなたがやろうとしているのはあなたの現在のリモートオリジンを新しいものに置き換えることです。コマンドラインから置き換えることができるかどうかはわかりませんが、 .git / config
(これはプロジェクトディレクトリにあります)で変更できます
古い
[remote "origin"]
url = git+ssh://original_repository.com/my_project.git
...
新規
[remote "origin"]
url = git+ssh://new_repository.com/my_project.git
...
git + ssh
の部分は git @
のようなものかもしれません(これはgithubを使用している場合です)、または、他のもの。これは、私が省略したか十分に説明していなかったいくつかのことを解決するのに役立つかもしれません:起源の変更。
これが質問への回答に役立つことを願っています。乾杯。
他のヒント
クローンgitリポジトリでこれを実行します:
git config branch.master.remote origin
&quot;あなたは私に何も言わずに引っ張るように頼んだ&quot; ...メッセージを処理します。
その後、リモートリポジトリの移動先がわかっている場合は、新しいクローンローカルリポジトリで、その日付から git diff
を実行できます。
$ git diff "@{yesterday}"
$ git whatchanged --since="2 weeks ago"
注:今後の git1.6.5の言及
さまざまなオプションに対する人が書き込み可能な日付形式、たとえば&quot;
-since = yesterday
&quot;、&quot;master @ {2000.09.17}
&quot;は、一部の省略された入力を適切に推測するように教えられています。
SOに関する質問&quot; どのようにしてgitに特定のブランチから常にプルさせるのですか?&quot;