私はこの問題を適切に言い表せませんでした。だから私がかなり検索している間に、私が何を求めているのか本当に分かっていないと思います。コミット履歴がファイル履歴と同期していませんか?
私たちのチームはGitには新しく、私たちはわからない動作に遭遇しました。私たちはまったく新しいプロジェクトを開始しています。今はMasterブランチを持っています。
シナリオA:
私は、リポジトリを開始し、それに複数の変更を行ってきました。私の同僚がプロジェクトに加わり、リポジトリをクローンしました。彼は別のエリアで作業を始め、数日間はこれらの変更と同期しませんでした。
彼が変更をプッシュする時間が来たとき、彼は変更を行い、プルを開始しました。これは、予想どおり、私の変更のすべてを取り除きました。彼はこれらの変更を自分のローカルリポジトリにコミットし、変更をプッシュしました(意味があります)。
私たちがGitHubで見たコミットは、彼の変更とすべての変更(?)を過去数日間にわたって含んでおり、彼が変更したものを選ぶのを非常に困難にしています。それでも、ファイルの履歴を確認すると、これの履歴はまったく含まれていません。彼らは私が最後に変更を押したときを反映しています。
シナリオB:上記のように
大部分は同じですが、偶然彼のコミットとプルの手順の後に入ってくるの変更を無視し、別の(新しい)同僚。これは幸運にも悲惨なものではありませんでした。コミットの履歴はこれを示していましたが、ファイルの履歴は表示されませんでした。私のファイルは、ファイルの履歴に何も表示されずに本質的に「ロールバック」されていましたが、これは非常に恐ろしいようです。
私はdevブランチを使用していて、すべてのブランチをそれから分岐してdevに戻してから、おそらくすべてが完了して完了したらマスターに合併するべきであるという読書をしてきました。しかし私は、上記のシナリオで何が起きたのかを根本的に理解していないと思います。
編集:私は、私が概念的に考えると、 'pull --rebase'がやろうとしていることを想像することができます。
編集2:そうでない可能性があります。ここに私が意味するものがあります。私の同僚と私はちょうど別の 'testfile2'を作成して、別のコンテンツで 'testfile'を作成することでこれを試しました。変更を受け入れると、新しいファイルとマージの競合が1つ(期待通り)あった。 1つの競合を解決し、新しいファイルとマージしたファイルの両方を自分のローカルリポジトリにコミットしました。それから私はリモコンに押し戻した。なぜ私はコミットしていないときに 'testfile2'を追加したことを示していますが、それはすでに存在していますか?
コミットなどを表示するツールはどれですか? –
@VenkatNaiduちょうどGitHubを使用しています。レポのコミット履歴はちょうど本当に奇妙なようです。私たちは彼が追加したファイルのカップルを表示することを期待していました。代わりに、彼のすべてのファイルと彼が引き出したすべての変更をコミットするだけです。 私たちが何か間違っているのか、これが予想されるのか分かりません。いずれにしても、それは本当に難しいです。このような初心者のようなシナリオのように思えますが、それがどうしてこのように振る舞うかはわかりません。 – lucasv
リポジトリのgithubリンクを提供できますか?それ以外の場合は実現可能なソリューションを提案するのはかなり難しいでしょう。 – ckruczek