2016-04-19 12 views
0

私は1つのファイル、例えばindex.htmlを持っています。コミットされていないファイルを同じブランチ内のリポジトリからの変更とマージするにはどうすればいいですか?

ファイルの行番号1000-1200を変更します。同じブランチで私と一緒に働いている別の同僚は、私がコミットしてプッシュする機会を得る前に、600〜800行目に変更を加えました。

私のコミットをプッシュしようとすると、Mac用のgithubデスクトップは、レポの頭が私の頭よりも大きいと言ったので、最初に引き出す必要があります。私が引っ張ってみると、私のgithub deskopは私に、index.htmlの変更がの変更が私の変更を上書きすることを教えてくれました

私はちょうどgithubを1週間ほど使っています。これは、私が過去にTortoiseSVNでSVNを使用したときは決して起こりません。それは常にコミットされていないファイルで変更を最初にマージしようとしましたが、それができない場合、私は衝突した行がどこにあるか、どの行からどのバージョンを削除するかを決定します。私はgithubデスクトップでそのオプションを持っていません。私もgitコンソールでそれを行う方法を理解していません。

それでは、どのようにするのですか?

答えて

2

stashローカル変更が必要な場合は、pullリモートが変更され、ローカルの変更が更新された作業ツリーに表示されます。

git stash popを実行すると、変更とリモートの変更が競合することがあります。

git stash 
git pull 
git stash pop 
+0

ああ大丈夫、試してみましょう。各コマンドの仕組みについての説明をありがとう。 :) –

+0

'git pull'では、次のようなエラーが出ました: エラー:ファイルの結合を解除したため、プルできません。 ヒント:作業ツリーでそれらを修正してから、 'git add/rm ' ヒントを使用してください。解像度をマークしてコミットしてください。 致命的:未解決の競合が原因で終了します。 「作業ツリーでそれらを修正する」 –

+0

@ChenLiYong、あなたの作業ツリーが以前のマージの試みによって汚染されているようです。一番簡単な解決策は、変更されたファイルを別のディレクトリにコピーし、 'git reset -hard'を実行して作業ツリーをリポジトリとマッチさせ、次にプル、変更をコピーしてコミットしてプッシュします。 – merlin2011

関連する問題