Merge vs Rebaseに関してかなりの質問があることを知っているのでこれが冗長に思えるかもしれませんが、 'Branch Default'をスローするものはないようです。
複数の人が同時に何か(つまり、Android StudioのAndroidアプリ)で作業している場合があります。誰かがマスターブランチにプッシュし、まだ作業中の作業を上書きしないように新しいマスターをプルしたい場合、プロジェクト/プルを更新する最良のオプションは何ですか? Android Studioは、[プロジェクトの更新]をクリックすると、[マージ]、[リベース]、および[ブランチのデフォルト]をリストします。それがどのように聞こえるかから、私は「リベース」(「マージ」が続く?)をしたいと思うだろうが、私は完全にはわからない。
スタッシング
ここで重要なのは、保存したいコミットされていない作業があることです。何かをマージしようとする前に、 変更を隠しておく にして、コミットされていない変更を保存し、作業ディレクトリを消去する必要があります。
実行git stash
変更を隠します。そうすれば、問題なく変更をプルできるはずです。
正常にプルした後、git stash apply
プル前に行った変更を再適用します。
マージとリベース
変更の保留は、uncommitted変更のみがある場合にのみ機能します。ある時点でコミットしたがプッシュしなかった場合は、リベースまたはマージする必要があります。
このStackOverflowの投稿 には、違いに関する優れた情報があります。
一般に、マージは簡単ですが、一部の人は、マージコミットでgit履歴を「汚染」すると考えています。
リベースには追加の作業が必要ですが、マージコミットがないため、マージは基本的に非表示になります。
繰り返しますが、あなたの場合、マージまたはリベースする必要はありません。単に隠して、引っ張ってから、隠してください。すべてうまくいくはずです。
IntelliJ IDEAによると documnetatition :
更新タイプ
git fetch ; git merge
またはgit pull --no-rebase
を実行した場合と同じです。git fetch ; git rebase
またはgit pull --rebase
を実行した場合と同じです。branch.<name>
構成ファイルの.git/config
セクションで指定されます。更新前に作業ツリーをクリーンアップします
この領域では、更新前に作業ツリーをクリーンアップしながら変更を保存する方法を指定します。更新が完了すると、変更が復元されます。利用可能なオプションは次のとおりです。
Googleのドキュメントにはこの質問(つまり、ワークフロー)に対する答えが見つかりませんでした。そこで、Android StudioとGitをUIから完全に使用した私の実際の経験を次に示します。
(コマンドラインとIDEの切り替えを考えて吐きます-IDEが不足していることを意味します!)
[〜#〜] warning [〜#〜]
手動マージの「リビジョンのマージ」UIは[〜#〜] terrible [〜#〜]です。一度試してみると、意味がわかります。 「同期スクロール」を実際に機能させようとして頑張ってください。このUIが2015年の最初の数週間以内に解決されることを心から願っています。
ドキュメント によると:
Merge:更新中に merge を実行するには、このオプションを選択します。これは実行と同等です
git fetch
、次にgit merge
、またはgit pull --no-rebase
。
Rebase:更新中に rebase を実行するには、このオプションを選択します。これは実行と同等ですgit fetch
、次にgit rebase
、または `git pull --rebase(すべてのローカルコミットは、更新されたアップストリームヘッドの上に配置されます)。
Branch Default:異なるブランチに異なる更新戦略を適用する場合は、このオプションを選択します。branch.<name>
構成ファイルの.git/config
セクションで、各ブランチのデフォルトの更新タイプを指定できます。
続きを読む こちら
Androidスタジオ端末)でGitプロジェクトを更新
これは私があなたの投稿から答えを見つけたいと思っていたものです。だから、私はこの答えを書いているのです。