2

私はgit(およびすべてのバージョン管理ソフトウェア)にまったく慣れていません。グラフィカルインターフェイスとしてSmartGit3をインストールしました。ベアリポジトリを作成してクローンを作成しました。私が知りたいのは、サーバーから(上書きせずに)プルし、現在のローカルバージョンとリモートサーバーからの変更(変更)を比較し、保持したい変更を選択する方法です。 (meldやkdiff3のように)。

私たちが話しているように、サーバーからプルするとローカルバージョンが完全に上書きされ、プッシュするとリモートサーバーのバージョンがローカルバージョンで上書きされます(最後のコミット)。

プルまたはプッシュしたときに、ローカルバージョンとリモートバージョンの違いを比較できるようにしたいと思います。

私はそれを行う方法を理解しようとしましたが、それを見つけることができません。私の友人がgitguiと似たようなことをしているのを見たことがあります(彼は何かをマージしていたと思いますが、よくわかりません)。

とにかく、私が間違っていると理解していることがあると確信していますが、誰かがそれを行う方法(SmartGit 3を使用)の手順を手伝ってくれるなら、本当に役に立ちます。

4

1 に答える 1

0

SmartGit3プロジェクトで、リポジトリ設定を右クリックし(Alt-Enter)、[マージされたリモート変更をコミットする]のチェックを外します。

これで、「プル」を実行するときに、変更をフェッチするだけで、それらはオリジン/マスターブランチにフェッチされます。

そこからマージウィンドウでマージでき(ドロップダウンからすべてのブランチを選択するか、単に「マスターとオリジン/マスター」)、リモート(オリジン/マスター)ブランチのコミットがリストに表示されます。

(上記の)フェッチすると、ログウィンドウからローカルHEADに対する変更を確認できるように見えます。[フィルター]ボックス/[デフォルトの色]ドロップダウンの横にある小さなドロップダウンで、すべてのブランチ(または「マスターとオリジン/マスター」)を選択します。次に、コミットをローカルマスターにチェリーピックマージできます。

于 2012-08-02T01:09:03.760 に答える