2017-02-25 7 views
3

私は自分のラップトップで小さなWebアプリケーションの作業を始めました.Gitをインストールしてレポを作成しました(Bitbucketにプッシュしませんでした) 。別のPCから同じアプリケーションの2つの別々のコピーをマージするには

私は後でGitをインストールしたデスクトップを購入し、はすべてのファイルをラップトップからコピーして、の作業を続けました。デスクトップマザーボードが約75%でクラッシュしたので、今度はノートパソコンに戻す必要があります。

私はラップトップ(古いバージョンのアプリケーション)に戻り、デスクトップ上のものとは異なる新しい機能を追加し、をBitbucketにプッシュしてアプリに起動しました。

質問:クラッシュしたデスクトップバージョンから起動したバージョンに機能を追加するにはどうすればよいですか?

N.B.私は、デスクトップからハードドライブを取り出し、ノートパソコンに外部として取り付けることができます。

答えて

1
  • ノートパソコンで:すべてのコミット/変更がmasterブランチにあるとします。 masterをリモートのBitBucketにプッシュします(すでに完了している場合はスキップします)。

    $ git checkout master 
    $ git push origin master  
    
  • masterブランチから(たとえば、desktop)新しいブランチを作成します。

    $ git checkout -b desktop  # create & checkout to 'desktop' branch 
    
  • は今(.git除くフォルダ)、デスクトップからノートパソコンへのあなたのプロジェクトのフォルダ/ファイルをコピーします。あなたはPendriveか他のものを使うことができます。変更Commit、デスクトッププロジェクトファイルとすべてのラップトップのプロジェクトファイルを置き換えます(がデスクトップから.gitフォルダをコピーしないだろうことを確認してください)

  • Add。 (desktop支店)あなたのdesktopブランチで今Mergeあなたmasterブランチ

    $ git add . 
    $ git commit -m 'Desktop changes' 
    
  • 。 (desktop支店)競合が発生した場合

    $ git pull origin master 
    
  • 今、それを解決します。競合を手動で解決できます。 ours(変更をdesktopに変更)またはtheirs(変更をmasterに保つ)を使用することもできます。

    $ git checkout --ours -- .  # keep 'desktop' branch changes 
    or, 
    $ git checkout --theirs -- .  # keep 'laptop' branch changes 
    
  • AddCommitPush変更。 (desktop支店)

    $ git commit -am 'Fix conflicts'  # add & commit 
    $ git push origin HEAD    # update remote/desktop 
    
  • masterブランチにdesktopブランチをマージします。今

    $ git checkout master 
    
    $ git pull origin desktop  # pull = fetch + merge, pull `desktop` changes into 'master' branch 
    $ git push origin HEAD  # update remote/master 
    

masterブランチにあなたはlaptopdesktopのすべての機能を持っています。ブランチmasterからアプリを起動します。

関連する問題