16

私は github の初心者であり、WINDOWS の選択したプライベート リポジトリにGITHUB を使用し始め、同僚と同じものを共有しました。

現在、問題が発生していますが、解決方法がわかりません。私たちはグーグルを試しましたが、役に立ちませんでした。

私自身と同僚が同じファイルで同時に作業しました。彼は私の前にコミットしました。彼が行った変更を知りたいので、彼の変更を自分のローカル ファイルにマージし、最終的に自分のバージョンをコミットしたいと考えています。Windows用のGITHUBを使用してGITHUBで可能ですか? 私は以前にTortoise SVNで同じことをしました

シェルコマンドプロンプトを開き、次のようなことを試しました

  $ git diff

しかし、それは違いだけを示しており、ローカルをステージングされたバージョンとマージするようにアドバイスしていません..

4

2 に答える 2

19

ボタンを押すsyncと、友達がオンラインで行ってプッシュした変更が取り込まれます。変更が正常にマージされない場合は、競合が発生したことを知らせるメッセージが表示されます。これにより、ファイルに競合行が追加され、そこに移動して解決する必要があります。その後、変更をコミットするだけです。

競合する行は Github for Windows インターフェイスに表示されるはずです (100% 確実ではありませんが、実際にはコマンド ラインを使用して競合を解決することを好みます)。

コマンド ラインでは、次のようにコマンドを入力する必要があります。

git pull
# If merge conflict, you'll be prompt to resolve them, git will list conflicted files
# Open those files in you editor and resolve conflicts. Line will be marked in the files.
# When all is resolved :
git add -A
git commit
# No need to enter a message, git will automatically fill the message with
# merge conflict specific information
git push

ファイルでは、競合マーカーは次のようになります。

<<<<<<<<<<< [sha-1 of the commit]
function() {
==================
function( hey ) {
HEAD>>>>>>>>>>>>>
于 2012-11-03T15:51:42.070 に答える
1

私の場合、次のコミットを同期しようとする前に、前のコミットを同期するのを怠ったことが判明しました。

競合の解決は必要ありません。

また、すべての違いがブロックされていることも興味深いと思いました

<<<<<<<<<<<<<<<<<...
...
======================
...
HEAD>>>>>>>>>>>>>>

実際にソースコードに配置されます。競合するファイルをテキスト エディターで開き、目的のブランチを保持/削除するだけです。

于 2014-07-14T22:02:24.877 に答える