2016-08-13 3 views
0

私は長い間その問題に悩まされており、解決策を見つけることができません 私はmasterというブランチを持っています。gitコマンドで何があってもリモート変更を取得する

私はフォルダのapplicationに古いマスターのリビジョンがあります。

ここでは、フォルダの現在の内容をリモートマスターの最新のコードに置き換えるコマンドが必要です。

あり、多くの場合であってもよいが、私は完全に新しいコードをマスターにプッシュが強制することができ人跡未踏のファイル

  • 存在でき
  • ローカルで修正されたファイルが存在することができ

    1. 以下のすべてのものを無視することができます
    2. マスターになっているので、リモートファイルとのマージ競合が発生する可能性があります。
    3. gitステータスでは、と表示されることがありますブランチ上のあなたがデタッチヘッド状態
    4. 上にある支店マスタとuptodate
      1. 分岐マスターでウル支店と原点/マスターが分岐マスター、現在進行中のリベース
      2. を発散していますがDEV私は無視したいと私はちょうど最新のコードをしたいすべてのものを上記の例のためにそう

    最も簡単な方法は、フォルダを削除し、もう一つの方法は以下の通りです

    のクローンを作成することであり、本当に/汚いのthatsと

    cd /application && git reset --hard && git rebase --abort | true && git checkout master && git fetch origin && git reset --hard origin/master 
    
  • 答えて

    1

    あなたの最善の策は、原点をチェックアウトすることであることを行うにはしたくありませんマスター。これにより、ローカルのマスターブランチの状態とマージの問題を処理する必要がなくなります。

    # Abort a rebase, if any 
    git rebase --abort 
    
    # Fetch the latest from origin 
    git fetch origin 
    
    # Check it out and throw out any changes 
    git checkout -f origin/master 
    
    # Clean out all untracked files. 
    git clean -dxf 
    
    +0

    少ないコマンドに減らすことができます。私たちがgitをフェッチすると、すべてのブランチがフェッチされますが、git fetch origin/masterのみが可能です。 – Karl

    +0

    @Karl、 'git fetch origin master'は' origin/master'をフェッチします。 –

    +0

    @karl AFAIK、これです。 Gitはリリースツールではありません。これを1つとして使用しようとすると、これが起こります。また、1つのブランチをフェッチすることもできますが、他のブランチが大きく分かれていない限り、残りのブランチを取得するコストはほとんどかかりません。 – Schwern

    関連する問題