2017-11-14 8 views
1

実行中のプロジェクトを持っているブランチがAです。私は支店で働いている友人がいるB。最近ではソースコードのメジャーバージョンの変更を行ったので、ブランチBが最新の状態になりました。ブランチABと同期しているように、すべてのソースコードとファイル/フォルダをブランチにコピーする必要があります。私は単にコマンドを使用してブランチを引っ張っ考えのgitコマンドについて多くのアイデアを持っていないよう: Gitのあるブランチを他のブランチにコピーする方法

git checkout B 
git pull origin B 

は今の2つのコマンドの後に、 Bのすべての変更は、私の枝 Aにありました。しかし、私が git checkout Aを使って自分の支店に戻ったとき、すべてが元に戻りました。私が望むのは、 Bのすべてのコンテンツを Aにコピーするだけです。

コマンドにこれらと

答えて

3

git checkout B 
git pull origin B 

あなたは:

  • がいつそれが

リモート状態だとB

  • は枝Bのローカル状態を同期分岐に切り替えgit checkout Aを実行して作業を変更しましたgコピー - ABの履歴が異なるため、ファイルが異なります。

    mergeブランチBAまたはrebaseにする必要があります。あなたがGitの初心者であれば、より良いオプションがマージされる:

    git checkout A 
    git merge --no-ff B 
    

    --no-ffは、マージがマージ早送り場合でもコミット追加されます。

  • 0

    私は次のようにすることをお勧めします。

    git checkout B 
    git pull origin B 
    git checkout -b B_backup 
    git push origin B_backup 
    
    git checkout A 
    git pull origin A 
    
    git checkout B 
    git rebase -i A 
    

    (紛争の解決、すべてが動作するか確認してください)

    git push origin B -f 
    

    (これは何も変更が現れていないがあることを確認してください、ブランチBが上書きされます)

    git push origin A:B 
    git checkout A 
    git pull origin A 
    
    関連する問題