2017-04-08 3 views
2

これは何が起こるかです:Gitのマージ競合を修正 - 「あなたの枝と分岐している 『起源/マスター』を」

  1. 最近は、リモート・マスターにコミットした後、私は私の地元の小さな些細な変更を加えますレポ
  2. 私はgit commit --amendを追加し、私はgit push

でマスターするレポをプッシュしようそして今、私は

を得る
  • HEADと同じコミットメッセージを残します
    On branch master 
    Your branch and 'origin/master' have diverged, 
    and have 1 and 1 different commit each, respectively. 
        (use "git pull" to merge the remote branch into yours) 
    nothing to commit, working directory clean 
    

    私は理解したい:

    1. これは正確に起こるのはなぜ?
    2. これを防止するにはどうすればよいですか?
    3. gitを修正した後にマスターをローカルと調整するにはどうすればよいですか?あなたは1と1異なっを持っている理由あなたは、既存の変更

    答えて

    5

    は(その内容が変更されたので)独自のバージョンを作成し、コミット

    --x---Y (master: that is the X amended) 
        \ 
        --X (origin/master) 
    

    を押されたこと

    をマスター/マスターと原点との間で、それぞれのコミット

    これを防ぐにはどうすればよいですか?

    既存の「修正」しないでくださいは、Gitが修正した後、私は地元でマスターを調整するにはどうすればよい

    (1を未プッシュのみローカル)コミットプッシュ?

    は単に

    git rebase origin/master 
    
    --x--X---Y' (master) 
         | 
    (origin/master) 
    
    git push 
    
    --x--X---Y' (master, origin/master) 
    
    を押し、その後、起源/マスターの上にリベース
    関連する問題