7

GitHubでリポジトリをフォークしました。

次に、SmartGitを使用して、ローカル開発環境のフォルダーにフォークのクローンを作成しました。さらに、元のリポジトリをリモートとして追加しました。

これで、元のリポジトリにいくつかのファイルが追加および変更されました。開発を続ける前に、最新の状態に保つためにこれらを取得したいと思います。

SmartGitのプルボタンを押して、ダイアログで元のリポジトリを選択します。SmartGitはこれを私に返します:

remote: Counting objects: 24, done.
remote: Total 13 (delta 7), reused 12 (delta 6)
From github.com:Original/repo
 * [new branch]      master     -> lm/master

しかし、追加されたファイルと変更は私のローカルリポジトリに追加されません。これをGitBashを使用して手動で行うと、git pull original masterすべてが期待どおりに機能します。

SmartGitが期待どおりにプルしないのはなぜですか?

4

4 に答える 4

11

プル時に、 SmartGitは「gitfetch」を実行し、その後、respをマージします。追跡されたブランチをリベースします。あなたの場合、masterトラックorigin/masterではなく、を追跡しますlm/master。あなたは今あなたがいると仮定して、あなたは今以下の選択肢を持っていますmaster

(1)次の代わりにmaster追跡するように構成します:Branch | Branch Managerを呼び出し、を選択し、コンテキストメニューからReset Tracked Branchを呼び出し、選択に追加してSetTrackedBranchを呼び出します。これで、すべてのプルでマージ(またはリベース)されます。lm/masterorigin/mastermasterlm/masterlm/master

(2)手動でマージ: Branch | Mergelm/masterを呼び出し、を選択します。lm/master

(3)手動でリベースしますlm/master:invoke Branch|Rebase、選択したコミットへのHEADを選択し、グラフページでlm/masterを選択します。

于 2012-05-08T10:11:09.780 に答える
8

私がSmartGitでやったことは、次のとおりです。

  • Remote > Add(あなたがしたように)。私は上流に電話しました。
  • ブランチパネルで、ブランチRight click upstream > fetch more..を選択します。(通常はマスター)
  • ブランチパネルDouble click upstream > masterで。これにより、2番目のブランチ(通常はmaster-2)を作成するように求められます。これをアップストリームとも呼びます。したがって、アップストリーム/マスターを追跡するアップストリームと呼ばれるリモートリポジトリとアップストリームと呼ばれるローカルブランチがあります。
  • ブランチパネルDouble click Local Branches > Masterで、マスターブランチに戻ります。

この時点では、ほんの少し前にプロジェクトをフォークしただけだと思います。したがって、この次のステップはあまり役に立ちませんが、後の段階でいくつかの追加のコミットがある場合は、これを行う必要があります。

  • Remote > Pull上流を選択します。小さな下矢印を押すと、「マージもリベースもできない」しかできないことがわかります。これはいい。
  • Click fetchこれにより、すべてのログと何が変更されたかを確認できます。
  • ブランチパネルRight click Local Branches > upstream > Mergeで。
  • Fast-Forwardあなたができると信じるなら。(私の好みの方法)。
  • またCreate Merge-Commit.

この時点から、あなたがしなければならないのは最後の5つのステップだけです。最初のステップはセットアップだけでした。

于 2013-05-29T09:41:50.167 に答える
3

現在のローカルブランチのアップストリームブランチが""の場合、新しいファイルが表示されますlm/master
しかし、あなたがオンになっている場合master、その上流のブランチは確かにデフォルトで " origin/master"(つまりmasterあなたのフォークの)です

元のリポジトリのファイルをマージする場合は、コマンドを次のように完了します。

git merge lm/master

または、SmartGitで、から現在のブランチにマージlm/masterます。

于 2012-05-08T09:45:40.213 に答える
3

SmartGitがすべてのプルでフェッチを実行している場合、

次に、アプリケーションのメニューバーまたはブランチウィンドウでブランチオプションを見つけます。 ここに画像の説明を入力してください

それで

ここに画像の説明を入力してください

また

ここに画像の説明を入力してください

出来上がり...お楽しみください

于 2014-03-05T06:32:18.130 に答える